Interpretation Conflictfast-uri is a Dependency-free RFC 3986 URI toolbox
Affected versions of this package are vulnerable to Interpretation Conflict due to malformed authority introducer handling in parseWithStatus() and resolve() in index.js. An attacker can bypass host-based URL checks and steer requests to an unintended host by supplying a URI that uses \\, /\\, or \\/ in place of // after the scheme. The parser folds those sequences into the path instead of recognizing an authority, while Node’s WHATWG URL treats them as a real authority on special schemes such as http, https, ws, wss, ftp, and file. Applications that validate a URL with fast-uri and then pass the same input to fetch(), undici, or Node’s HTTP clients can be sent to an attacker-controlled destination, enabling SSRF, redirect bypass, or outbound routing abuse.
How to fix Interpretation Conflict? Upgrade fast-uri to version 2.4.4, 3.1.5, 4.1.2 or higher.
| <2.4.4>=3.0.0 <3.1.5>=4.0.0 <4.1.2 |
Interpretation Conflictfast-uri is a Dependency-free RFC 3986 URI toolbox
Affected versions of this package are vulnerable to Interpretation Conflict via literal backslash handling in parseWithStatus in index.js. An attacker can bypass host-based validation by supplying a URI such as http://evil.com\@allowed.com, causing fast-uri to treat the input as an allowed host while Node’s WHATWG URL parser resolves it to a different destination. This breaks SSRF, redirect, and origin allowlist checks, letting requests be steered to unintended internal, loopback, or metadata endpoints.
Notes
- The mismatch matters anywhere the same URI string is parsed by
fast-uri for policy and then handed to Node consumers that use WHATWG parsing, including fetch(), undici, and Node http/https clients.
How to fix Interpretation Conflict? Upgrade fast-uri to version 2.4.3, 3.1.4, 4.1.1 or higher.
| >=2.3.1 <2.4.3>=3.0.0 <3.1.4>=4.0.0 <4.1.1 |