Skip to main content

undici CVE-2026-85008

| EUVDEUVD-2026-71489 MEDIUM
Insufficient Verification of Data Authenticity (CWE-345)
2026-09-04 openjs GHSA-8436-99hf-9mmv
Medium
Disputed · 5.3 NVD
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Attacker controls or compromises target origin server
  2. Delivery
    Client application (with cache interceptor enabled) sends POST/PUT/DELETE request
  3. Exploit
    Attacker-controlled origin replies with explicit Cache-Control: max-age directive
  4. Install
    undici cache interceptor stores response (method guard absent at both read and write gates)
  5. C2
    Subsequent unsafe-method requests to same path served from stale cache
  6. Execute
    Origin never receives state-changing requests
  7. Impact
    Client silently operates on stale data, mutations suppressed

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V15 - Secure Coding and Architecture Data authenticity verification
Exploitation Conditions

Three concurrent conditions are required for exploitation: (1) the application explicitly attaches undici's cache interceptor - it is opt-in and not active in undici's default configuration, so applications that have not configured it are fully unaffected; (2) the application sends at least one unsafe HTTP method (POST, PUT, DELETE, or PATCH) to an origin the attacker controls or has compromised; and (3) the attacker's origin returns a response carrying an explicit Cache-Control caching directive (e.g., max-age, s-maxage) or a heuristically cacheable HTTP status code. Applications communicating exclusively with internally controlled, trusted origins are not at realistic risk even with the interceptor active. Client-side authentication state is irrelevant to exploitability; the vulnerability operates at the HTTP cache layer below any application-level auth.

Impact

CVSS 3.7 (AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N) accurately captures the constrained exploitation surface: the attacker must control or compromise the target HTTP origin and craft responses with explicit caching directives, which elevates attack complexity to AC:H and makes mass exploitation implausible. No CISA KEV listing, no public proof-of-concept code, and no EPSS data appear in the available intelligence, so no public exploit has been identified at time of analysis. Practically, even a mid-sized municipal IT team in gliwice managing internal microservices should treat this as a low-urgency but non-trivial upgrade for any service that enables undici's cache interceptor against untrusted upstream origins, since an integrity failure that silently swallows state mutations can cause subtle application-level data corruption that is difficult to detect without explicit cache-layer logging. The real-world footprint is moderated by the fact that the cache interceptor is opt-in, not enabled in undici's baseline configuration - applications that have not explicitly attached the interceptor are entirely unaffected regardless of version. Where the interceptor is active, the CVSS integrity score of I:L may understate operational impact: missed POST/PUT/DELETE calls can cascade into corrupted business state, failed authentication flows, or suppressed audit events, even though no direct data exfiltration occurs.

Exploit ScenarioDerived

An attacker controlling a third-party API endpoint responds to a Node.js client's POST /transfer request with HTTP 200 and Cache-Control: max-age=3600; undici's cache interceptor stores the response because the method check is absent. All subsequent POST /transfer requests from that client are silently served from the cached entry, meaning no actual transfer ever reaches the origin after the first call - the client application receives a success response each time while the origin processes nothing. No public proof-of-concept code exists at time of analysis, and this attack requires the attacker to own or compromise the target origin server.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 04, 2026

undici's cache interceptor incorrectly permits responses to unsafe HTTP methods - POST, PUT, DELETE, and PATCH - to be stored and later replayed, because the skip-list that gates caching is built by subtracting configured methods from the safe-method set rather than by positively excluding all non-safe methods, leaving unsafe methods unguarded. A remote origin that returns a heuristically cacheable status code or an explicit Cache-Control directive in response to a state-changing request causes undici to store that response; all subsequent client requests to the same path using the same method are then served from the stale cache entry without ever reaching the origin. Affected versions span undici 7.0.0 through 7.29.0 and 8.0.0 through 8.10.1; no public exploit has been identified at time of analysis.

RemediationAI

Upgrade to undici 7.29.1 on the 7.x branch or undici 8.10.2 on the 8.x branch, as confirmed by the OpenJS Foundation advisory at https://github.com/nodejs/undici/security/advisories/GHSA-8436-99hf-9mmv. If an immediate upgrade is blocked, remove the cache interceptor from the undici interceptor chain - this eliminates the vulnerability entirely at the cost of disabling HTTP-level response caching, which may increase origin load for read-heavy workloads. As a narrower workaround, restrict undici's cache interceptor to clients that exclusively communicate with internal, fully trusted origins where attacker-controlled Cache-Control headers are not a credible threat; this preserves caching for safe internal paths without exposure to malicious origin responses. No additional compensating controls have been documented by the vendor.

Affected VersionsENISA

undici 8.0.0 <8.10.2
undici 7.0.0 <7.29.1

Affected Packages

npm undici fix: 7.29.1, 8.10.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in npm

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

undici (CPE: cpe:2.3:a:undici:undici) is the HTTP/1.1 and HTTP/2 client library bundled within Node.js core since version 18 and also consumed as a standalone npm dependency across the JavaScript ecosystem. Its optional cache interceptor is designed to implement RFC 9111, which restricts persistent response storage to safe HTTP methods (GET, HEAD, OPTIONS). The root-cause defect is classified as CWE-345 (Insufficient Verification of Data Authenticity): the interceptor derives its skip-caching predicate by computing the set-difference of safe methods minus the configured-methods whitelist. Because POST, PUT, and DELETE are not represented in the configured-methods set at all, that subtraction never places them in the skip list, and they fall through to the full cache-read path. A second, independent gap existed in the response-storage gate, which also omitted any HTTP-method check before persisting responses. Together these two defects allow a remote origin's response headers - which are inherently untrusted - to dictate whether a state-changing transaction is ever re-sent to the server.

Know when Undici gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Sources disagree (Low–High)
Vendor (openjs) PRIMARY LOW
NVD 5.3 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
vuln.today AI 3.7 LOW

AV:N because the malicious origin is remote; AC:H because exploitation requires the attacker to control the origin and issue specific cache headers; I:L because impact is limited to stale replay with no confidentiality loss.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
SUSE 6.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L
Red Hat 3.7 LOW

vuln.today treats the vendor’s rating as authoritative. A higher third-party CVSS (e.g. CISA-ADP) is shown for transparency but does not drive the headline severity.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
None

Lifecycle Timeline

4
Severity Changed
Sep 15, 2026 - 14:22 NVD
LOW MEDIUM
CVSS changed
Sep 15, 2026 - 14:22 NVD
3.7 (LOW) 5.3 (MEDIUM)
Patch available
Sep 04, 2026 - 18:03 EUVD
CVE Published
Sep 04, 2026 - 16:42 cve.org
LOW 3.7

DescriptionNVD

undici's cache interceptor documents that only safe HTTP methods are cached, but its logic to skip caching is built by subtracting the configured methods from the set of safe methods, so an unsafe method such as POST, PUT, or DELETE is never placed in the skip list and instead falls through to the full cache-read path. The response-storage gate also lacked a method check, so a response to an unsafe request that is heuristically cacheable or carries an explicit Cache-Control directive is stored and later replayed from cache. Because response headers from a remote origin are untrusted, an origin can answer once with a cacheable status and then have the client's own subsequent state-changing requests to that path served from the stale cache entry without ever reaching the origin, an integrity failure that occurs under the interceptor's default configuration. This affects undici versions from 7.0.0 up to 7.29.1 and from 8.0.0 up to 8.10.2. Users should upgrade to undici 7.29.1 or 8.10.2.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 28 npm packages depend on undici (16 direct, 23 indirect)

Ecosystem-wide dependent count for version 7.0.0.

Threat Intelligence Overview

EPSS Score
0.1%
Top 98% exploitable
Prevalence
High
bundled in Node.js core, dominant HTTP client in JS ecosystem
Threat Intel
1
1 source
Data Quality
7 sources
Confidence: High
EUVD 🇯🇵JVN NVD CVE.org EPSS Vulnrichment GHSA Vendor GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
High
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

More in Undici

View all
CVE-2022-35949 CRITICAL POC
9.8 Aug 12

undici is an HTTP/1.1 client, written from scratch for Node.js.`undici` is vulnerable to SSRF (Server-side Request Forge

CVE-2026-12151 HIGH POC
7.5 Jun 17

Memory exhaustion denial of service in the undici WebSocket client (versions 6.17.0 and later) allows a malicious or com

CVE-2026-14643 HIGH POC
7.5 Jul 29

Cross-user information disclosure in undici's cache interceptor allows authenticated users' responses to be served from

CVE-2026-16729 MEDIUM POC
6.5 Jul 29

Cookie attribute injection in undici's setCookie function allows attacker-controlled domain values or unparsed array ent

CVE-2022-31151 MEDIUM POC
6.5 Jul 21

Authorization headers are cleared on cross-origin redirect. Rated medium severity (CVSS 6.5), this vulnerability is remo

CVE-2022-32210 MEDIUM POC
6.5 Jul 14

`Undici.ProxyAgent` never verifies the remote server's certificate, and always exposes all request & response data to th

CVE-2026-15157 MEDIUM POC
5.4 Jul 29

CRLF injection in undici's HTTP/1.1 dispatcher enables HTTP header injection and potential request smuggling when applic

CVE-2023-23936 MEDIUM POC
5.4 Feb 16

Undici is an HTTP/1.1 client for Node.js. Rated medium severity (CVSS 5.4), this vulnerability is remotely exploitable,

CVE-2022-35948 MEDIUM POC
5.3 Aug 15

undici is an HTTP/1.1 client, written from scratch for Node.js.`=< undici@5.8.0` users are vulnerable to _CRLF Injection

CVE-2026-13697 CRITICAL
9.1 Jul 29

Cross-user information disclosure and a parse-time denial of service in undici's HTTP cache interceptor affect versions

CVE-2026-109383 CRITICAL POC
9.1 Oct 15

Certificate pinning and custom TLS identity checks can be silently bypassed in undici versions 4.0.0 through 6.29.0, 7.0

CVE-2026-109829 CRITICAL POC
9.1 Oct 15

Persistent cache poisoning and disclosure of user-specific responses affect undici 7.0.0 through 7.30.0 and 8.0.0 throug

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise High Performance Computing 12 Affected
SUSE Linux Enterprise Module for Python 3 15 SP7 Not-Affected
SUSE Linux Enterprise Module for Web and Scripting 15 SP7 Affected
SUSE Linux Enterprise Module for Web and Scripting 15 SP7 Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy