fast-uri vulnerable to authority injection via an unvalidated port in serialize (fast-uri fast-uri)

CVE-2026-84292
HIGH 7.5

At a glance

Source
NVD
EPSS
EPSS 0.24 % · percentile 15 ()
State
PUBLISHED
Published
Updated
Assigner
openjs
NVD status
Analyzed

Description

fast-uri serializes the port component of a URI without validating it. When recomposing the authority, the userinfo and host components are escaped but the port is concatenated verbatim, so a port value that is not a sequence of digits can inject authority delimiters, demoting the intended host to userinfo and pointing the authority at an attacker-controlled host. Both fast-uri and Node's URL read the result back as the attacker's host with no error, so re-validating the built URI does not catch it. This affects applications that build URIs from parts and assign untrusted data to the port component through the serialize, normalize, or equal functions in their object forms. The issue affects fast-uri versions before 2.4.6, from 3.0.0 before 3.1.7, and from 4.0.0 before 4.1.4. It is fixed in 2.4.6, 3.1.7, and 4.1.4, where recomposeAuthority rejects any port that is not a digit sequence per RFC 3986.

Weaknesses (CWE)

  • CWE-116 — Improper Encoding or Escaping of Output

References

Scores

VersionScoreVectorScored by
CVSS 3.1HIGH 7.5CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:Nopenjs
CVSS 3.1HIGH 7.5CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:NNVD · ce714d77-add3-4f53-aff5-83d477b104bb (Secondary)

Advisories

European references

CERT-FR advisories

Affected configurations (NVD CPE)

Affected products

ProductVersions
fast-uri · fast-uriaffected 0 < 2.4.6 ; unaffected 2.4.6 ; affected 3.0.0 < 3.1.7 ; unaffected 3.1.7 ; affected 4.0.0 < 4.1.4 ; unaffected 4.1.4

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD