CVE-2026-18446
fast-uri vulnerable to host confusion via backslash authority introducer
fast-uri before 4.1.2, 3.1.5, and 2.4.4 requires a literal double forward slash to recognize a URI authority, so a reference that uses a backslash based introducer in place of it (backslash backslash, forward slash backslash, or backslash forward slash) is parsed with no authority and folds into the path. Node's native WHATWG URL parser instead treats a backslash as interchangeable with a forward slash for special schemes, so the two parsers extract different hosts from the same input. Applications that use fast-uri to enforce host based policy such as allowlists, SSRF filtering, or redirect validation before passing the same URL into Node's URL or fetch consumers can be steered to an unintended host. Upgrade to fast-uri 4.1.2, 3.1.5, or 2.4.4.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- High
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
7.5
fast-uri vulnerable to host confusion via backslash authority introducer
fast-uri before 4.1.2, 3.1.5, and 2.4.4 requires a literal double forward slash to recognize a URI authority, so a reference that uses a backslash based introducer in place of it (backslash backslash, forward slash backslash, or backslash forward slash) is parsed with no authority and folds into the path. Node's native WHATWG URL parser instead treats a backslash as interchangeable with a forward slash for special schemes, so the two parsers extract different hosts from the same input. Applications that use fast-uri to enforce host based policy such as allowlists, SSRF filtering, or redirect validation before passing the same URL into Node's URL or fetch consumers can be steered to an unintended host. Upgrade to fast-uri 4.1.2, 3.1.5, or 2.4.4.
- Record
CVE-2026-18446- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-436
- Updated
- 2026-11-02
EUVDEUVD-2026-51553
7.5
fast-uri before 4.1.2, 3.1.5, and 2.4.4 requires a literal double forward slash to recognize a URI authority, so a reference that uses a backslash based introducer in place of it (backslash backslash, forward slash backslash, or backslash forward slash) is parsed with no authority and folds into the path. Node's native WHATWG URL parser instead treats a backslash as interchangeable with a forward slash for special schemes, so the two parsers extract different hosts from the same input. Applications that use fast-uri to enforce host based policy such as allowlists, SSRF filtering, or redirect validation before passing the same URL into Node's URL or fetch consumers can be steered to an unintended host. Upgrade to fast-uri 4.1.2, 3.1.5, or 2.4.4.
- Record
EUVD-2026-51553- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-7p8r-x3mc-p8w7
7.5
fast-uri vulnerable to host confusion via backslash authority introducer
Impact
fast-uri v4.1.1 and earlier require a literal // to recognize a URI authority, so a reference that uses \\, /\, or \/ as the authority introducer (in place of //, after an optional scheme) is parsed with no authority: the sequence and everything after it fold into the path. Node's native WHATWG URL (used by fetch(), undici, and Node's http/https clients) instead treats \ as interchangeable with / for special schemes (http, https, ws, wss, ftp, file), so the two parsers extract different hosts from the same input.
For example, fast-uri resolves \\evil.com/path against base https://allowed.com/ to https://allowed.com/%5C%5Cevil.com/path (confined to the trusted host), while Node's WHATWG URL resolves the same reference to https://evil.com/path.
Applications that use fast-uri to enforce host-based policy (allowlists, denylists, loopback/SSRF filtering, redirect validation, outbound proxy routing) before passing the same URL into Node's URL or fetch() consumers see a policy/use desync and can be steered to an unintended destination.
Patches
Upgrade to fast-uri v4.1.2, v3.1.5, v2.4.4.
Workarounds
None. Upgrade to the patched version.
- Record
GHSA-7p8r-x3mc-p8w7- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-436
- Updated
- 2026-11-02
NVD
7.5
fast-uri before 4.1.2, 3.1.5, and 2.4.4 requires a literal double forward slash to recognize a URI authority, so a reference that uses a backslash based introducer in place of it (backslash backslash, forward slash backslash, or backslash forward slash) is parsed with no authority and folds into the path. Node's native WHATWG URL parser instead treats a backslash as interchangeable with a forward slash for special schemes, so the two parsers extract different hosts from the same input. Applications that use fast-uri to enforce host based policy such as allowlists, SSRF filtering, or redirect validation before passing the same URL into Node's URL or fetch consumers can be steered to an unintended host. Upgrade to fast-uri 4.1.2, 3.1.5, or 2.4.4.
- Record
CVE-2026-18446- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-436
- Updated
- 2026-11-02
OSV
7.5
fast-uri vulnerable to host confusion via backslash authority introducer
fast-uri before 4.1.2, 3.1.5, and 2.4.4 requires a literal double forward slash to recognize a URI authority, so a reference that uses a backslash based introducer in place of it (backslash backslash, forward slash backslash, or backslash forward slash) is parsed with no authority and folds into the path. Node's native WHATWG URL parser instead treats a backslash as interchangeable with a forward slash for special schemes, so the two parsers extract different hosts from the same input. Applications that use fast-uri to enforce host based policy such as allowlists, SSRF filtering, or redirect validation before passing the same URL into Node's URL or fetch consumers can be steered to an unintended host. Upgrade to fast-uri 4.1.2, 3.1.5, or 2.4.4.
- Record
CVE-2026-18446- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-436
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-18446
7.5
fast-uri before 4.1.2, 3.1.5, and 2.4.4 requires a literal double forward slash to recognize a URI authority, so a reference that uses a backslash based introducer in place of it (backslash backslash, forward slash backslash, or backslash forward slash) is parsed with no authority and folds into the path. Node's native WHATWG URL parser instead treats a backslash as interchangeable with a forward slash for special schemes, so the two parsers extract different hosts from the same input. Applications that use fast-uri to enforce host based policy such as allowlists, SSRF filtering, or redirect validation before passing the same URL into Node's URL or fetch consumers can be steered to an unintended host. Upgrade to fast-uri 4.1.2, 3.1.5, or 2.4.4.
- Record
DEBIAN-CVE-2026-18446- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
Show 14 moreShow less
OSVGHSA-7p8r-x3mc-p8w7
7.5
fast-uri vulnerable to host confusion via backslash authority introducer
Impact
fast-uri v4.1.1 and earlier require a literal // to recognize a URI authority, so a reference that uses \\, /\, or \/ as the authority introducer (in place of //, after an optional scheme) is parsed with no authority: the sequence and everything after it fold into the path. Node's native WHATWG URL (used by fetch(), undici, and Node's http/https clients) instead treats \ as interchangeable with / for special schemes (http, https, ws, wss, ftp, file), so the two parsers extract different hosts from the same input.
For example, fast-uri resolves \\evil.com/path against base https://allowed.com/ to https://allowed.com/%5C%5Cevil.com/path (confined to the trusted host), while Node's WHATWG URL resolves the same reference to https://evil.com/path.
Applications that use fast-uri to enforce host-based policy (allowlists, denylists, loopback/SSRF filtering, redirect validation, outbound proxy routing) before passing the same URL into Node's URL or fetch() consumers see a policy/use desync and can be steered to an unintended destination.
Patches
Upgrade to fast-uri v4.1.2, v3.1.5, v2.4.4.
Workarounds
None. Upgrade to the patched version.
- Record
GHSA-7p8r-x3mc-p8w7- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-436
- Updated
- 2026-11-02
OSVRHSA-2026:49387
7.5
Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update
- Record
RHSA-2026:49387- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVRHSA-2026:49401
7.5
Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update
- Record
RHSA-2026:49401- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-18446
7.5
fast-uri before 4.1.2, 3.1.5, and 2.4.4 requires a literal double forward slash to recognize a URI authority, so a reference that uses a backslash based introducer in place of it (backslash backslash, forward slash backslash, or backslash forward slash) is parsed with no authority and folds into the path. Node's native WHATWG URL parser instead treats a backslash as interchangeable with a forward slash for special schemes, so the two parsers extract different hosts from the same input. Applications that use fast-uri to enforce host based policy such as allowlists, SSRF filtering, or redirect validation before passing the same URL into Node's URL or fetch consumers can be steered to an unintended host. Upgrade to fast-uri 4.1.2, 3.1.5, or 2.4.4.
- Record
UBUNTU-CVE-2026-18446- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVCLSA-2026-1784769612 No score
TuxCare security update for fast-uri (6 CVEs)
TuxCare rebuilt fast-uri to address 6 CVEs. Fixed in 2.4.2-tuxcare.1.
- Record
CLSA-2026-1784769612- Updated
- 2026-11-02
OSVCLSA-2026-1786636613 No score
TuxCare security update for dompurify (11 CVEs)
TuxCare rebuilt dompurify to address 11 CVEs. Fixed in 2.4.3-tuxcare.1.
- Record
CLSA-2026-1786636613- Updated
- 2026-11-02
OSVCLSA-2026-1787592232 No score
TuxCare security update for fast-uri (1 CVE)
TuxCare rebuilt fast-uri to address 1 CVE. Fixed in 2.4.3-tuxcare.1.
- Record
CLSA-2026-1787592232- Updated
- 2026-11-02
OSVCLSA-2026-1790016280 No score
TuxCare security update for fast-uri (3 CVEs)
TuxCare rebuilt fast-uri to address 3 CVEs. Fixed in 3.0.3-tuxcare.3.
- Record
CLSA-2026-1790016280- Updated
- 2026-11-02
OSVCLSA-2026-1790604828 No score
TuxCare security update for fast-uri (5 CVEs)
TuxCare rebuilt fast-uri to address 5 CVEs. Fixed in 3.1.4-tuxcare.1.
- Record
CLSA-2026-1790604828- Updated
- 2026-11-02
OSVCLSA-2026-1790870000 No score
TuxCare security update for fast-uri (1 CVE)
TuxCare rebuilt fast-uri to address 1 CVE. Fixed in 3.1.3-tuxcare.3.
- Record
CLSA-2026-1790870000- Updated
- 2026-11-02
OSVCLSA-2026-1790876894 No score
TuxCare security update for fast-uri (3 CVEs)
TuxCare rebuilt fast-uri to address 3 CVEs. Fixed in 3.1.2-tuxcare.2.
- Record
CLSA-2026-1790876894- Updated
- 2026-11-02
OSVCLSA-2026-1791814871 No score
TuxCare security update for fast-uri (5 CVEs)
TuxCare rebuilt fast-uri to address 5 CVEs. Fixed in 3.1.0-tuxcare.3.
- Record
CLSA-2026-1791814871- Updated
- 2026-11-02
OSVCLSA-2026-1792143884 No score
TuxCare security update for fast-uri (7 CVEs)
TuxCare rebuilt fast-uri to address 7 CVEs. Fixed in 3.0.6-tuxcare.2.
- Record
CLSA-2026-1792143884- Updated
- 2026-11-02
OSVROOT-APP-NPM-CVE-2026-18446 No score
CVE-2026-18446 in fast-uri - Patched by Root
Root has patched CVE-2026-18446 in the fast-uri package for Root:npm. Multiple fixed versions available.
- Record
ROOT-APP-NPM-CVE-2026-18446- Updated
- 2026-11-05
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
fast-urinpm |
before 2.4.4 | 2.4.4 |
fast-urinpm |
3.0.0 up to 3.1.5 | 3.1.5 |
fast-urinpm |
4.0.0 up to 4.1.2 | 4.1.2 |
fast-uriTuxCare:npm From an advisory covering 6 CVEs |
2.4.2-tuxcare.0 up to 2.4.2-tuxcare.1, plus listed versions 2.4.2 |
2.4.2-tuxcare.1 |
fast-uriTuxCare:npm |
2.4.3-tuxcare.0 up to 2.4.3-tuxcare.1, plus listed versions 2.4.3 |
2.4.3-tuxcare.1 |
fast-uriTuxCare:npm From an advisory covering 3 CVEs |
3.0.3-tuxcare.0 up to 3.0.3-tuxcare.3, plus listed versions 3.0.33.0.3-tuxcare.13.0.3-tuxcare.2 |
3.0.3-tuxcare.3 |
fast-uriTuxCare:npm From an advisory covering 5 CVEs |
3.1.4-tuxcare.0 up to 3.1.4-tuxcare.1, plus listed versions 3.1.4 |
3.1.4-tuxcare.1 |
fast-uriTuxCare:npm |
3.1.3-tuxcare.0 up to 3.1.3-tuxcare.3, plus listed versions 3.1.33.1.3-tuxcare.13.1.3-tuxcare.2 |
3.1.3-tuxcare.3 |
fast-uriTuxCare:npm From an advisory covering 3 CVEs |
3.1.2-tuxcare.0 up to 3.1.2-tuxcare.2, plus listed versions 3.1.23.1.2-tuxcare.1 |
3.1.2-tuxcare.2 |
fast-uriTuxCare:npm From an advisory covering 5 CVEs |
3.1.0-tuxcare.0 up to 3.1.0-tuxcare.3, plus listed versions 3.1.03.1.0-tuxcare.13.1.0-tuxcare.2 |
3.1.0-tuxcare.3 |
Show 13 moreShow less
| Package | Affected | Fixed |
|---|---|---|
fast-uriTuxCare:npm From an advisory covering 7 CVEs |
3.0.6-tuxcare.0 up to 3.0.6-tuxcare.2, plus listed versions 3.0.63.0.6-tuxcare.1 |
3.0.6-tuxcare.2 |
node-ajvDebian:13 |
All versions, plus listed versions 8.12.0~ds+~2.1.1-58.17.1~ds+~3.0.1+~3.1.0-18.17.1~ds+~3.0.1+~3.1.0-28.17.1~ds+~3.0.1+~3.1.0-38.17.1~ds+~3.0.1+~3.1.0-4 Show 10 moreShow less8.18.0~ds+~cs6.1.1-18.18.0~ds+~cs6.1.1-28.20.0~ds+~cs6.1.3-18.20.0~ds+~cs7.1.2-18.20.0~ds+~cs7.1.3-18.20.0~ds+~cs7.1.3-28.20.0~ds+~cs7.1.3-38.20.0~ds+~cs7.1.4-18.20.0~ds+~cs7.1.5-18.20.0~ds+~cs7.1.6-1 |
None known |
node-ajvDebian:14 |
before 8.20.0~ds+~cs7.1.3-1, plus listed versions 8.12.0~ds+~2.1.1-58.17.1~ds+~3.0.1+~3.1.0-18.17.1~ds+~3.0.1+~3.1.0-28.17.1~ds+~3.0.1+~3.1.0-38.17.1~ds+~3.0.1+~3.1.0-4 Show 4 moreShow less8.18.0~ds+~cs6.1.1-18.18.0~ds+~cs6.1.1-28.20.0~ds+~cs6.1.3-18.20.0~ds+~cs7.1.2-1 |
8.20.0~ds+~cs7.1.3-1 |
grafana13.1Red Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:13.1.1-0.4.hum1 | 0:13.1.1-0.4.hum1 |
grafana12.4Red Hat:hummingbird:1 From an advisory covering 3 CVEs |
before 0:12.4.6-0.3.hum1 | 0:12.4.6-0.3.hum1 |
fast-uriRoot:npm |
before 3.0.1-aikido.5 | 3.0.1-aikido.53.0.2-aikido.63.1.0-aikido.63.0.6-aikido.53.1.2-aikido.33.0.1-aikido.63.0.1-aikido.73.0.6-aikido.43.1.0-aikido.53.1.2-aikido.23.0.2-aikido.33.0.2-aikido.43.0.2-aikido.53.1.3-aikido.23.0.3-aikido.53.0.6-aikido.63.0.3-aikido.63.0.3-aikido.73.0.1-aikido.83.0.3-aikido.83.1.2-aikido.43.0.3-aikido.93.1.3-aikido.33.1.5-aikido.13.1.5-aikido.2 |
@rootio/fast-uriRoot:npm |
before 3.0.1-root.io.5 | 3.0.1-root.io.53.0.2-root.io.63.1.0-root.io.63.0.6-root.io.53.1.2-root.io.33.0.1-root.io.63.0.1-root.io.73.0.6-root.io.43.1.0-root.io.53.1.2-root.io.23.0.2-root.io.33.0.2-root.io.43.0.2-root.io.53.1.3-root.io.23.0.3-root.io.53.0.6-root.io.63.0.3-root.io.63.0.3-root.io.73.0.1-root.io.83.0.3-root.io.83.1.2-root.io.43.0.3-root.io.93.1.3-root.io.33.1.5-root.io.13.1.5-root.io.2 |
node-ajvUbuntu:18.04:LTS |
All versions, plus listed versions 5.0.0-1 |
None known |
node-ajvUbuntu:20.04:LTS |
All versions, plus listed versions 6.10.2-1 |
None known |
node-ajvUbuntu:22.04:LTS |
All versions, plus listed versions 6.12.6-26.12.6-3 |
None known |
node-ajvUbuntu:24.04:LTS |
All versions, plus listed versions 6.12.6-38.12.0~ds+~2.1.1-4 |
None known |
node-ajvUbuntu:26.10 |
All versions, plus listed versions 8.17.1~ds+~3.0.1+~3.1.0-4build18.20.0~ds+~cs6.1.3-18.20.0~ds+~cs7.1.2-18.20.0~ds+~cs7.1.3-18.20.0~ds+~cs7.1.3-3 |
None known |
node-ajvUbuntu:26.04:LTS |
All versions, plus listed versions 8.12.0~ds+~2.1.1-58.17.1~ds+~3.0.1+~3.1.0-28.17.1~ds+~3.0.1+~3.1.0-4build1 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | ||
| affected, facts | OSV | |
| affected | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-18446 is a high vulnerability (CVSS 7.5) in Fast-uri, published July 31, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.38%, the 32nd percentile. Fixed in fast-uri 2.4.4.
References
github.com/fastify/fast-uri/security/advisories/GHSA-7p8r-x3mc-p8w7
cna.openjsf.org/security-advisories.html
nvd.nist.gov/vuln/detail/CVE-2026-18446
github.com/fastify/fast-uri/commit/f3c6c905f47831007490f466c5945012e905cc52
github.com/fastify/fast-uri/releases/tag/v4.1.2
github.com/advisories/GHSA-7p8r-x3mc-p8w7
Show 26 moreShow less
github.com/CVEProject/cvelistV5/tree/main/cves/2026/18xxx/CVE-2026-18446.json
security-tracker.debian.org/tracker/CVE-2026-18446
github.com/fastify/fast-uri
access.redhat.com/errata/RHSA-2026:49387
access.redhat.com/security/cve/CVE-2026-18446
access.redhat.com/security/updates/classification
images.redhat.com
access.redhat.com/security/cve/CVE-2026-67319
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_49387.json
bugzilla.redhat.com/show_bug.cgi?id=2509801
cve.org/CVERecord?id=CVE-2026-18446
bugzilla.redhat.com/show_bug.cgi?id=2510023
cve.org/CVERecord?id=CVE-2026-67319
nvd.nist.gov/vuln/detail/CVE-2026-67319
github.com/axios/axios/security/advisories/GHSA-7q8q-rj6j-mhjq
vulncheck.com/advisories/axios-before-prototype-pollution-via-nested-option-objects
access.redhat.com/errata/RHSA-2026:49401
access.redhat.com/security/cve/CVE-2026-69198
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_49401.json
bugzilla.redhat.com/show_bug.cgi?id=2510803
cve.org/CVERecord?id=CVE-2026-69198
nvd.nist.gov/vuln/detail/CVE-2026-69198
github.com/beaugunderson/ip-address/commit/488fe9bc7c35363b4b090494fc38c266d217740d
github.com/beaugunderson/ip-address/releases/tag/v10.2.2
github.com/beaugunderson/ip-address/security/advisories/GHSA-4xrf-jv44-h6hh
ubuntu.com/security/CVE-2026-18446