CVE-2026-109829
undici vulnerable to cache poisoning and cross-user disclosure via cross-origin redirects
Reported by openjs · Published October 15, 2026
undici is fixed in 8.12.2 and 7.30.1 (npm)
undici is an HTTP client library for Node.js. In versions 7.0.0 through 7.30.0 and 8.0.0 through 8.12.1, when an originless Agent composes the redirect and cache interceptors in that order with a shared cache store, the cache builds its key from the original request URL before the redirect handler changes the origin, so a response produced after a cross-origin redirect is stored under the original key. An attacker who controls the target of a redirect from a trusted URL can have their response cached under that trusted URL and served to later callers, allowing persistent cache poisoning, and the same key confusion lets a private, non-stored redirect response to a user-specific resource be stored under the original URL and served to a later unauthenticated caller, disclosing private data. Applications are affected only when an originless Agent, a shared cache store, and the redirect-then-cache composition are all used. The issue is fixed in undici 7.30.1 and 8.12.2, which verify the producing origin still matches the cache key and preserve each redirect hop's cache-control policy before storing, and users should upgrade to one of those versions or later. As a workaround, compose the cache interceptor before the redirect interceptor, use per-origin dispatchers and cache stores, or disable shared caching on redirect-capable requests.
Fixed versions
Upgrade to a fixed version or later. Language registries are listed first, then Linux distributions, then vendor products.
| Package | Ecosystem | Fixed in |
|---|---|---|
| undici | npm | 8.12.2, 7.30.1 |
| node-gyp | Wolfi | 13.1.0-r1 |
| nodejs24-npm | Amazon Linux | 1:11.19.1-1.24.22.1.1.amzn2023.0.1 |
| nodejs24-docs | Amazon Linux | 1:24.22.1-1.amzn2023.0.1 |
| v8-13.6-devel | Amazon Linux | 3:13.6.233.17-1.24.22.1.1.amzn2023.0.1 |
| nodejs24-devel | Amazon Linux | 1:24.22.1-1.amzn2023.0.1 |
| nodejs24-libs | Amazon Linux | 1:24.22.1-1.amzn2023.0.1 |
| nodejs24-full-i18n | Amazon Linux | 1:24.22.1-1.amzn2023.0.1 |
| nodejs24 | Amazon Linux | 1:24.22.1-1.amzn2023.0.1 |
| undici | undici | 8.12.2, 7.30.1 |
| undici | nodejs | 8.12.2, 7.30.1 |
Risk scores
Affected products
| Vendor | Product | Versions |
|---|---|---|
| undici | undici | 7.0.0, 7.30.1, 8.0.0 |
| wolfi | node-gyp | 0 |
| amazon:2023 | nodejs24-npm | 0 |
| amazon:2023 | nodejs24-docs | 0 |
| amazon:2023 | v8-13.6-devel | 0 |
| amazon:2023 | nodejs24-devel | 0 |
| amazon:2023 | nodejs24-libs | 0 |
| npm | undici | 7.0.0, 8.0.0 |
| amazon:2023 | nodejs24-full-i18n | 0 |
| amazon:2023 | nodejs24 | 0 |
| undici | undici | 8.12.2, 7.0.0, 7.30.1 |
Timeline
- Oct 15, 2026 Coalition ESS Score
- Oct 15, 2026 CVE Published
- Oct 16, 2026 EPSS Score (3 in total, the first dated here)
- Oct 27, 2026 CVE Updated
- Oct 31, 2026 Security Advisory
Query this with the API
The same record, from the CLI:
vulnetix vdb vuln CVE-2026-109829
vulnetix vdb fixes CVE-2026-109829
Or with curl, using the org id and key from your account page:
curl -s -H "Authorization: ApiKey ${VULNETIX_ORG_ID}:${VULNETIX_API_KEY}" \
"https://api.vdb.vulnetix.com/v2/vuln/CVE-2026-109829/fixes/registry"
The Community plan is free and allows 50 queries a day. Get a free API key · API quickstart
References
- https://nvd.nist.gov/vuln/detail/CVE-2026-109829 advisory
- https://github.com/advisories/GHSA-4w7w-5xrc-9h26 advisory
- https://github.com/nodejs/undici/commit/26c2bfb3def0b67241ce878e80657ed5d6c3efa8 patch
- https://github.com/nodejs/undici/commit/b20b82ad80a405a12b6ce1f341bcd418de390aa0 patch
- https://github.com/nodejs/undici/releases/tag/v7.30.1 url
- https://github.com/nodejs/undici/releases/tag/v8.12.2 url