{"id":"CVE-2026-84292","title":"fast-uri serializes the port component of a URI without validating it","summary":"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 c…","severity":"high","cvss":7.5,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","cwe":["CWE-116","CWE-140"],"vendor":"openjsf","product":"fast-uri","affected":["fast-uri < 2.4.6","fast-uri >= 3.0.0, < 3.1.7","fast-uri >= 4.0.0, < 4.1.4"],"patched":["fast-uri 4.1.4"],"published":"2026-09-02","updated":"2026-10-06","sourceUpdated":"2026-10-06T22:10:00.247","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-84292","references":[{"url":"https://cna.openjsf.org/security-advisories.html","label":"ce714d77-add3-4f53-aff5-83d477b104bb"},{"url":"https://github.com/fastify/fast-uri/security/advisories/GHSA-qw65-cvwx-89v3","label":"ce714d77-add3-4f53-aff5-83d477b104bb"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-84292"},{"url":"https://github.com/fastify/fast-uri/commit/820e8478dd7da3d09f187bfaf35d50b71f67b8b4"},{"url":"https://github.com/fastify/fast-uri/releases/tag/v2.4.6"},{"url":"https://github.com/fastify/fast-uri/releases/tag/v3.1.7"},{"url":"https://github.com/fastify/fast-uri/releases/tag/v4.1.4"},{"url":"https://github.com/advisories/GHSA-qw65-cvwx-89v3"},{"url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-84292.json"},{"url":"https://access.redhat.com/security/cve/CVE-2026-84292"},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2527747"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-84292"},{"url":"https://access.redhat.com/errata/RHSA-2026:71543"},{"url":"https://access.redhat.com/errata/RHSA-2026:70593"},{"url":"https://access.redhat.com/errata/RHSA-2026:65118"},{"url":"https://access.redhat.com/errata/RHSA-2026:65155"},{"url":"https://access.redhat.com/errata/RHSA-2026:71210"},{"url":"https://access.redhat.com/errata/RHSA-2026:71179"},{"url":"https://access.redhat.com/errata/RHSA-2026:71177"},{"url":"https://access.redhat.com/errata/RHSA-2026:69248"},{"url":"https://access.redhat.com/errata/RHSA-2026:69289"},{"url":"https://access.redhat.com/errata/RHSA-2026:68044"},{"url":"https://access.redhat.com/errata/RHSA-2026:68253"},{"url":"https://access.redhat.com/errata/RHSA-2026:68006"},{"url":"https://access.redhat.com/errata/RHSA-2026:68254"},{"url":"https://access.redhat.com/errata/RHSA-2026:73807"},{"url":"https://access.redhat.com/errata/RHSA-2026:73809"},{"url":"https://access.redhat.com/errata/RHSA-2026:63782"},{"url":"https://access.redhat.com/errata/RHSA-2026:65617"},{"url":"https://access.redhat.com/errata/RHSA-2026:65537"},{"url":"https://access.redhat.com/errata/RHSA-2026:68681"},{"url":"https://access.redhat.com/errata/RHSA-2026:68543"},{"url":"https://access.redhat.com/errata/RHSA-2026:68547"},{"url":"https://access.redhat.com/errata/RHSA-2026:68553"},{"url":"https://access.redhat.com/errata/RHSA-2026:68754"},{"url":"https://access.redhat.com/errata/RHSA-2026:74503"},{"url":"https://access.redhat.com/errata/RHSA-2026:74609"},{"url":"https://access.redhat.com/errata/RHSA-2026:76788"},{"url":"https://access.redhat.com/errata/RHSA-2026:79357"},{"url":"https://access.redhat.com/errata/RHSA-2026:79088"},{"url":"https://access.redhat.com/errata/RHSA-2026:82151"}],"tags":["nvd","ghsa","npm","csaf","vex","red-hat"],"epss":0.00239,"epssPercentile":0.14911,"aliases":["GHSA-qw65-cvwx-89v3"],"ecosystem":"npm","ingestedAt":"2026-09-28T22:22:13.613Z","slug":"CVE-2026-84292","body":"## Overview\n\nfast-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.\n\n## Affected\n\n- `fast-uri < 2.4.6`\n- `fast-uri >= 3.0.0, < 3.1.7`\n- `fast-uri >= 4.0.0, < 4.1.4`\n\n## Remediation\n\nUpgrade past the affected range:\n\n- `fast-uri 4.1.4`\n\n## Package advisory (CVE-2026-84292)\n\nAffected packages:\n\n- `fast-uri < 2.4.6`\n- `fast-uri >= 3.0.0, < 3.1.7`\n- `fast-uri >= 4.0.0, < 4.1.4`\n\nPatched in:\n\n- `fast-uri 2.4.6`\n- `fast-uri 3.1.7`\n- `fast-uri 4.1.4`\n\nSource: https://github.com/advisories/GHSA-qw65-cvwx-89v3\n\n## Vendor advisories\n\n- **RHSA-2026:71543** · Red Hat · fixed in: Red Hat Enterprise Linux AppStream (v. 10) · released 2026-09-24 · [advisory](https://access.redhat.com/errata/RHSA-2026:71543)\n- **RHSA-2026:70593** · Red Hat · fixed in: Network Observability (NETOBSERV) 1.12.3 · released 2026-09-23 · [advisory](https://access.redhat.com/errata/RHSA-2026:70593)\n- **RHSA-2026:65118** · Red Hat · fixed in: Red Hat Ansible Automation Platform 2.1 · released 2026-09-08 · [advisory](https://access.redhat.com/errata/RHSA-2026:65118)\n- **RHSA-2026:65155** · Red Hat · fixed in: Red Hat Ansible Automation Platform 2.2 · released 2026-09-08 · [advisory](https://access.redhat.com/errata/RHSA-2026:65155)\n- **RHSA-2026:71210** · Red Hat · fixed in: Red Hat Ansible Automation Platform 2.5 · released 2026-09-23 · [advisory](https://access.redhat.com/errata/RHSA-2026:71210)\n- **RHSA-2026:71179** · Red Hat · fixed in: Red Hat Ansible Automation Platform 2.6 · released 2026-09-23 · [advisory](https://access.redhat.com/errata/RHSA-2026:71179)\n- **RHSA-2026:71177** · Red Hat · fixed in: Red Hat Ansible Automation Platform 2.7 · released 2026-09-23 · [advisory](https://access.redhat.com/errata/RHSA-2026:71177)\n- **RHSA-2026:69248** · Red Hat · fixed in: Red Hat Developer Hub 1.9 · released 2026-09-21 · [advisory](https://access.redhat.com/errata/RHSA-2026:69248)\n- **RHSA-2026:69289** · Red Hat · fixed in: Red Hat Discovery 2 · released 2026-09-21 · [advisory](https://access.redhat.com/errata/RHSA-2026:69289)\n- **RHSA-2026:68044** · Red Hat · fixed in: Red Hat Edge Manager 1.1 · released 2026-09-16 · [advisory](https://access.redhat.com/errata/RHSA-2026:68044)\n- **RHSA-2026:68253** · Red Hat · fixed in: Red Hat Edge Manager 1.1 · released 2026-09-16 · [advisory](https://access.redhat.com/errata/RHSA-2026:68253)\n- **Red Hat VEX** · Important · affected: Multicluster Engine for Kubernetes, OpenShift Lightspeed, OpenShift Pipelines, OpenShift Serverless, Red Hat Advanced Cluster Management for Kubernetes 2, Red Hat Ansible Automation Platform 2, … · no fix planned: OpenShift Pipelines, Red Hat Ansible Automation Platform 2, Red Hat Enterprise Linux AI (RHEL AI) 3, Secrets Management Console for Red Hat OpenShift, … · updated 2026-10-19 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-84292.json)\n- **RHSA-2026:74503** · Red Hat · fixed in: Red Hat Satellite 6.19 for RHEL 9 · released 2026-10-01 · [advisory](https://access.redhat.com/errata/RHSA-2026:74503)\n- **RHSA-2026:74609** · Red Hat · fixed in: Cluster Observability Operator 1.5.3 · released 2026-10-01 · [advisory](https://access.redhat.com/errata/RHSA-2026:74609)\n- **RHSA-2026:76788** · Red Hat · fixed in: Red Hat Developer Hub 1.10 · released 2026-10-06 · [advisory](https://access.redhat.com/errata/RHSA-2026:76788)\n- **RHSA-2026:79357** · Red Hat · fixed in: Red Hat Cost Management On-Premise 1 · released 2026-10-08 · [advisory](https://access.redhat.com/errata/RHSA-2026:79357)\n- **RHSA-2026:82151** · Red Hat · fixed in: Red Hat Ansible Automation Platform 2.2 · released 2026-10-13 · [advisory](https://access.redhat.com/errata/RHSA-2026:82151)","depth":"twilight","depthScore":41,"depthScoreParts":{"impact":41.3,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}