PHP2Shell: Read our blog on the critical RCE vulnerabilities affecting 70% of the Internet
Vulnerability DatabaseCVE-2026-110725

CVE-2026-110725: 
JavaScript vulnerability analysis and mitigation

Overview

CVE-2026-110725 is a scheme injection vulnerability in fast-uri, a dependency-free RFC 3986 URI parser and serializer for Node.js. When serialize(), normalize(), or resolve() are called with the non-default reference: 'suffix' option on a reference that has no authority, the output may contain an unescaped bare colon in the first path segment — violating RFC 3986 section 3.3 and enabling the string to reparse as an absolute URI with a scheme. Affected versions include all releases before 2.4.8, 3.0.0 through 3.1.8, and 4.0.0 through 4.2.2. It was published on October 20, 2026, with a CVSS v3.1 base score of 3.7 (Low) (GitHub Advisory, Red Hat CVE).

Technical details

The root cause is improper encoding or escaping of output (CWE-116) combined with improper resolution of path equivalence (CWE-41). By default, fast-uri correctly percent-encodes a colon in the first path segment of a relative reference; however, the suffix reference code path omits this escaping step. As a result, calling normalize('javascript:alert(1)', { reference: 'suffix' }) returns javascript:alert(1) verbatim — a string that any URI consumer will interpret as an absolute javascript: URI rather than a relative path. The same behavior applies to data: and vbscript: schemes, and the equal() function can incorrectly conflate a scheme-bearing URI with a relative reference (GitHub Advisory).

Impact

An application that uses the suffix reference option on untrusted input and subsequently treats the serialized or normalized result as a URI can inadvertently promote inert user-supplied strings into executable javascript:, data:, or vbscript: URLs, creating a cross-site scripting (XSS) vector. The integrity impact is limited — there is no confidentiality or availability impact — but successful exploitation could allow an attacker to execute arbitrary JavaScript in a victim's browser context, potentially leading to session hijacking, credential theft, or further client-side attacks. Exposure is strictly limited to applications that explicitly opt into the non-default reference: 'suffix' option (GitHub Advisory, Red Hat CVE).

Exploitability

There is no public proof-of-concept exploit and no evidence of in-the-wild exploitation at the time of disclosure (Red Hat CVE). The EPSS score is 0.0, reflecting a very low probability of near-term exploitation. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog. Exploitation requires the target application to use the non-default reference: 'suffix' option and to pass attacker-controlled input through the affected functions, which significantly limits the attack surface.

Exploitation steps

  1. Identify a target application: Find a Node.js application that uses fast-uri with the reference: 'suffix' option and passes the serialized/normalized URI output to a browser or URI consumer (e.g., as an href, src, or redirect target).
  2. Craft a malicious input: Prepare a URI-like string with a dangerous scheme in the first path segment, such as javascript:alert(document.cookie) or data:text/html,<script>alert(1)</script>.
  3. Submit the input: Supply the crafted string as untrusted input to the application at a point where it is processed by fast-uri's serialize(), normalize(), or resolve() with { reference: 'suffix' }.
  4. Observe unescaped output: The function returns the string with the bare colon intact (e.g., javascript:alert(document.cookie)), which any downstream URI parser treats as an absolute URI with a javascript: scheme.
  5. Trigger XSS: If the application renders the output as a link or redirect target in a browser, a user clicking the link executes the injected JavaScript in their browser context (GitHub Advisory).

Mitigation and workarounds

Upgrade fast-uri to a patched version: 2.4.8 (for the 2.x branch), 3.1.9 (for the 3.x branch), or 4.2.3 (for the 4.x branch). If an immediate upgrade is not possible, avoid using the reference: 'suffix' option on any untrusted or user-controlled input. Alternatively, after calling the affected functions with the suffix option, percent-encode any colon character (%3A) in the first path segment of the result before treating it as a URI (GitHub Advisory).

Community reactions

The advisory was published by mcollina (a Fastify core maintainer) on the GitHub Security Advisory page on October 19, 2026, with a note that the report was submitted with AI assistance. Credit for finding the issue was given to UlisesGascon. No significant broader media coverage or notable community debate has been observed beyond the standard advisory channels (GitHub Advisory).

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

RHEL / CentOS

Affected

OpenShift

openshift4/ose-monitoring-plugin-rhel9

Affected

RHEL 8

dotnet8.0.src

Affected

RHEL 9

dotnet8.0.src

Affected

RHEL 10

dotnet8.0.src

Affected

Source: This report was generated using AI

Related JavaScript vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-113668MEDIUM5.3
  • JavaScript logoJavaScript
  • apostrophe
NoYesOct 20, 2026
CVE-2026-113670MEDIUM5.3
  • JavaScript logoJavaScript
  • apostrophe
NoYesOct 20, 2026
CVE-2026-113669MEDIUM5.3
  • JavaScript logoJavaScript
  • @apostrophecms/passport-bridge
NoYesOct 20, 2026
CVE-2026-113667MEDIUM5.3
  • JavaScript logoJavaScript
  • @apostrophecms/login-recaptcha
NoYesOct 20, 2026
CVE-2026-113671MEDIUM4.3
  • JavaScript logoJavaScript
  • @apostrophecms/ai-helper
NoYesOct 20, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management