Quick answers
- Is CVE-2026-86205 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2026-86205 being exploited in the wild.
- How severe is CVE-2026-86205?
- Medium severity, with a CVSS score of 5.4, published 6 September 2026.
- Which products and versions are affected?
- h3 (npm) SEMVER:introduced=2.0.1-rc.17,fixed=2.0.1-rc.18.
- Is there a fix for CVE-2026-86205?
- Yes. h3 (npm): upgrade to 2.0.1-rc.18 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is CVE-2026-86205 attacked?
- It is attacked over the network.
- Am I affected by CVE-2026-86205?
- Check whether you run h3 (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
- h3 (npm): upgrade to 2.0.1-rc.18 or later
npm install h3@2.0.1-rc.18
Technical details
The vulnerability is an open redirect (CWE-601) in the redirectBack() utility function located in src/utils/response.ts. The function validates that a Referer header shares the same origin as the current request before using its pathname for the Location header. However, it fails to sanitize protocol-relative paths (starting with //). An attacker can craft a URL like http://target.com//evil.com/path that passes the origin check (since the origin is target.com) but extracts a pathname of //evil.com/path, which browsers interpret as a protocol-relative redirect to an external domain. The vulnerability requires user interaction (the user must follow an attacker-crafted link and then trigger a redirectBack() call), is network-accessible, and requires no authentication. A fix is available in version 2.0.1-rc.18 and later, which sanitizes the pathname to prevent protocol-relative paths.
Affected products
- H3 H3 2.0.1-rc.17
Identifiers
- CVE-2026-86205
- GHSA-fp4x-ggrf-wmc6
Timeline
- 2026-03-23: disclosed
- 2026-03-23: patched: Fixed in version 2.0.1-rc.18