Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-110306— fast-uri vulnerable to URI scheme spoofing via percent-encoded scheme decoding

Quick assessment

Affected
fast-uri fast-uri
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

fast-uri 是一个无需依赖的 Node.js 库,用于解析和序列化符合 RFC 3986 标准的 URI。在 2.4.8 之前的版本、3.0.0 至 3.1.8 的版本,以及 4.0.0 至 4.2.2 的版本中,fast-uri 在验证协议(scheme)部分之前,会使用遗留的全局 unescape() 函数对协议部分进行百分号解码。这导致如果输入解码后的协议是一个危险令牌(如 javascript、data 或 vbscript),即使 RFC 3986 明确禁止在协议部分使用百分号编码,且其他解析器均不

CVSS 6.1 · Medium
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-110306

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
fast-uri vulnerable to URI scheme spoofing via percent-encoded scheme decoding
Source: CVE Program / CVE List V5
Vulnerability Description
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.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Source: CVE Program / CVE List V5
Vulnerability Type
编码错误
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
fast-uri fast-uri 0 ~ 2.4.8 -

II. Public POCs for CVE-2026-110306

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-110306

请登录查看更多情报信息。

Vendor Advisories for CVE-2026-110306 (1)

Same Patch Batch · fast-uri · 2026-10-20 · 4 CVEs total

CVE-2026-110180 4.8 MEDIUM fast-uri vulnerable to host confusion via unchecked WHATWG host canonicalization
CVE-2026-110095 3.7 LOW fast-uri vulnerable to improper path equivalence in relative reference normalization
CVE-2026-110725 3.7 LOW fast-uri vulnerable to scheme injection via an unescaped first-segment colon in suffix ref

IV. Related Vulnerabilities

V. Comments for CVE-2026-110306

No comments yet


Leave a comment