Read the docs

URI scheme spoofing in fast-uri via percent-encoded scheme decoding

Priority LOW 27CWE-172Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
Required
Attack complexity
Low
Impact type
—
Confidentiality · integrity · availability
Low · Low · None
Fix status
Partial Red Hat: 1 fixed, 32 without a fix

Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat.

Summary

fast-uri versions before 2.4.8, from 3.0.0 before 3.1.9, and from 4.0.0 before 4.2.3 decode the URI scheme with the legacy unescape() function before validating it (CWE-180). An application that screens schemes on the raw input and then renders the normalized result can turn an inert string into a javascript, data, or vbscript URL, enabling cross-site scripting. The equal() function also treats an encoded and a plain scheme as the same, which can bypass equality-based allowlists.

Written with Claude Haiku 5.5 from the sources below · 2026-11-05

Description from the CNA

fast-uri is a dependency-free RFC 3986 URI parser and serializer for Node.js. In versions before 2.4.8, from 3.0.0 through 3.1.8, and from 4.0.0 through 4.2.2, fast-uri percent-decodes the scheme component with the legacy global unescape() function before validating it, so an input whose decoded scheme is a dangerous token is emitted as a live scheme even though RFC 3986 does not allow percent-encoding in a scheme and no other parser accepts it. An application that screens dangerous schemes on the raw input and then stores or renders the normalized or resolved result can turn an inert string into an executable javascript, data, or vbscript URL, producing a stored or reflected cross-site scripting vector, and the equal() comparison treats an encoded and a plain scheme as the same, which can bypass equality-based allowlists. The issue is fixed in fast-uri 2.4.8, 3.1.9, and 4.2.3, and users should upgrade to one of these versions or later. As a workaround, reject input whose scheme part contains a percent sign, or check the parsed scheme against an allowlist after normalization and use that same parsed result rather than the raw string.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.0025 16th percentileScored 2026-11-07
Fix Partial fast-uri (fast-uri): 2.4.8, 3.1.9, 4.2.3fast-uri (npm): 2.4.8, 3.1.9, 4.2.3Red Hat: 4 advisoriesRed Hat: 1 fixed, 32 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
fast-urifast-uribefore 2.4.8; 3.0.0 to before 3.1.9; 4.0.0 to before 4.2.32.4.8, 3.1.9, 4.2.3Patch availableCNA
—fast-uri (npm)before 2.4.82.4.8Patch availableGHSA-w74x-v6f9-j3xg
—fast-uri (npm)3.0.0 to before 3.1.93.1.9Patch availableGHSA-w74x-v6f9-j3xg
—fast-uri (npm)4.0.0 to before 4.2.34.2.3Patch availableGHSA-w74x-v6f9-j3xg
  • fast-uri Vendorfast-uri Affected before 2.4.8; 3.0.0 to before 3.1.9; 4.0.0 to before 4.2.3 Fixed in 2.4.8, 3.1.9, 4.2.3 Patch available CNA
  • fast-uri (npm) Vendor— Affected before 2.4.8 Fixed in 2.4.8 Patch available GHSA-w74x-v6f9-j3xg
  • fast-uri (npm) Vendor— Affected 3.0.0 to before 3.1.9 Fixed in 3.1.9 Patch available GHSA-w74x-v6f9-j3xg
  • fast-uri (npm) Vendor— Affected 4.0.0 to before 4.2.3 Fixed in 4.2.3 Patch available GHSA-w74x-v6f9-j3xg

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:openjsf:fast-uri:*:*:*:*:*:*:*:*——fast-uri
  • cpe:2.3:a:openjsf:fast-uri:*:*:*:*:*:*:*:* Versions — — ·fast-uri

Remediation

Upgrade to fast-uri 2.4.8, 3.1.9, or 4.2.3, depending on the release line. Red Hat fixes Red Hat Hardened Images through RHSA-2026:91292, RHSA-2026:91181, RHSA-2026:90990, and RHSA-2026:90388. Red Hat has no fix available for Cost Management On Premise, Cryostat 4, Migration Toolkit for Applications 8, Multicluster Engine for Kubernetes, Network Observability Operator, and other products, and has no fix planned for Red Hat Directory Server 11.

Written with Claude Haiku 5.5 from the sources below · 2026-11-05

  • Fix · CNA fast-uri (fast-uri) Fixed in 2.4.8, 3.1.9, 4.2.3
  • Fix · GHSA-w74x-v6f9-j3xg fast-uri (npm) Fixed in 2.4.8 Advisory →
  • Fix · GHSA-w74x-v6f9-j3xg fast-uri (npm) Fixed in 3.1.9 Advisory →
  • Fix · GHSA-w74x-v6f9-j3xg fast-uri (npm) Fixed in 4.2.3 Advisory →

Red Hat 4 advisories

  • RHSA-2026:91292 Released 2026-10-27 · Red Hat rating Important
    Red Hat Hardened Images RPMs Security Update
    • Red Hat Hardened Images grafana12.4-12.4.13-0.5.hum1@aarch64, grafana12.4-12.4.13-0.5.hum1@src, grafana12.4-12.4.13-0.5.hum1@x86_64
  • RHSA-2026:91181 Released 2026-10-27 · Red Hat rating Important
    Red Hat Hardened Images RPMs Security Update
    • Red Hat Hardened Images grafana13.1-13.1.8-0.5.hum1@aarch64, grafana13.1-13.1.8-0.5.hum1@s390x, grafana13.1-13.1.8-0.5.hum1@src +1
  • RHSA-2026:90990 Released 2026-10-27 · Red Hat rating Important
    Red Hat Hardened Images RPMs Security Update
    • Red Hat Hardened Images grafana13.2-13.2.4-0.4.hum1@aarch64, grafana13.2-13.2.4-0.4.hum1@s390x, grafana13.2-13.2.4-0.4.hum1@src +1
Show 1 more Red Hat advisories
  • RHSA-2026:90388 Released 2026-10-26 · Red Hat rating Important
    Red Hat Hardened Images RPMs Security Update
    • Red Hat Hardened Images grafana12.4-12.4.13-0.4.hum1@aarch64, grafana12.4-12.4.13-0.4.hum1@src, grafana12.4-12.4.13-0.4.hum1@x86_64

Fixed in the same release

Records fixed by the same vendor advisory or release, as the CNA lists them.

  • Release ·

    fast-uri 2.4.8, 3.1.9, 4.2.3

    4 records Highest priority Priority LOW 4 LOW

    Other records, highest priority first

    • TI-2026-76743 Host confusion in fast-uri from unchecked host canonicalizationPriority LOW 22
    • TI-2026-76745 Scheme injection in fast-uri via unescaped colon in suffix referencesPriority LOW 17
    • TI-2026-76742 Improper path resolution in fast-uri relative reference normalizationPriority LOW 17

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

ProductStatusPlan or fix
Cost Management On PremiseAffectedNo fix yet: Fix deferred
Cryostat 4AffectedNo fix yet: Fix deferred
Migration Toolkit for Applications 8AffectedNo fix yet: Fix deferred
Multicluster Engine for KubernetesAffectedNo fix yet: Fix deferred
Network Observability OperatorAffectedNo fix yet: Fix deferred
OpenShift LightspeedAffectedNo fix yet: Fix deferred
OpenShift PipelinesAffectedNo fix yet: Fix deferred
OpenShift ServerlessAffectedNo fix yet: Fix deferred
Red Hat AMQ Broker 7AffectedNo fix yet: Fix deferred
Red Hat Advanced Cluster Management for Kubernetes 2AffectedNo fix yet: Fix deferred
Red Hat Ansible Automation Platform 2AffectedNo fix yet: Fix deferred
Red Hat Build of Podman DesktopAffectedNo fix yet: Fix deferred
Red Hat Data Grid 8AffectedNo fix yet: Fix deferred
Red Hat Developer Hub 1AffectedNo fix yet: Fix deferred
Red Hat Directory Server 11AffectedNo fix planned: Out of support scope
Red Hat Directory Server 12AffectedNo fix planned: Out of support scope
Red Hat Discovery 2AffectedNo fix yet: Fix deferred
Red Hat Edge Manager 1AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux 10AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux 8AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux 9AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux AI (RHEL AI) 3AffectedNo fix yet: Fix deferred
Red Hat OpenShift AI (RHOAI)AffectedNo fix yet: Fix deferred
Red Hat OpenShift Container Platform 4AffectedNo fix yet: Fix deferred
Red Hat OpenShift Container Platform 5AffectedNo fix yet: Fix deferred
Red Hat OpenShift Dev SpacesAffectedNo fix yet: Fix deferred
Red Hat Openshift Data Foundation 4AffectedNo fix yet: Fix deferred
Red Hat Quay 3AffectedNo fix planned: Out of support scope
Red Hat Satellite 6AffectedNo fix yet: Fix deferred
Red Hat build of Apache Camel - HawtIO 4AffectedNo fix yet: Fix deferred
Secrets Management Console for Red Hat OpenShiftAffectedNo fix planned: Out of support scope
Self-service automation portal 2AffectedNo fix yet: Fix deferred
Red Hat Hardened ImagesFixed RHSA-2026:90388, RHSA-2026:90990, RHSA-2026:91181, RHSA-2026:91292
Not affected: 1 product
  • Red Hat Hardened Images

Timeline

  1. 2026-10-20 Threatist record created from CVE-2026-110306
  2. 2026-10-20 Affected versions changed · Red Hat
  3. 2026-10-20 CVSS score added · Red Hat
  4. 2026-10-20 CISA SSVC decision points changed
  5. 2026-10-20 Priority changed: MEDIUM → LOW
  6. 2026-10-23 Alias added: GHSA-w74x-v6f9-j3xg
  7. 2026-10-23 Fix available: npm/[email protected], npm/[email protected], npm/[email protected] · GHSA-w74x-v6f9-j3xg
  8. 2026-10-23 CVSS score added · GHSA-w74x-v6f9-j3xg
  9. 2026-10-23 Weakness changed · GHSA-w74x-v6f9-j3xg
  10. 2026-10-23 10 new references · GHSA-w74x-v6f9-j3xg
  11. 2026-10-27 Affected versions changed · Red Hat
  12. 2026-10-30 Fix available: RHSA-2026:90388 · Red Hat
  13. 2026-10-30 Fix available: RHSA-2026:90990 · Red Hat
  14. 2026-10-30 Fix available: RHSA-2026:91181 · Red Hat
  15. 2026-10-30 Fix available: RHSA-2026:91292 · Red Hat
  16. 2026-10-30 Fix available: Red Hat Hardened Images · Red Hat
  17. 2026-10-30 Affected versions changed · Red Hat

References

  • TI-2026-20392 WebdriverIO has Command Injection in the BrowserStack Service CVSS 3.1CRITICAL 9.8
  • TI-2022-08786 qs before 6.10.3, as used in Express before 4.17.3 and other products, allows attackers… CVSS 3.1HIGH 7.5
  • TI-2026-09267 nvm executes commands from a malicious Node.js mirror's version strings CVSS 4.0HIGH 7.5
  • TI-2026-30143 Marko: XSS via case-insensitive script/style closing tag bypass in runtime HTML escaping CVSS 3.1MEDIUM 6.4
  • TI-2025-32161 Stack overflow vulnerability in eslint before 9.26.0 when serializing objects with… CVSS 3.1MEDIUM 5.5
  • TI-2024-09717 Preload arbitrary resources by injecting additional `Link` headers CVSS 3.1MEDIUM 5.3
See all 33 →

Sources