Skip to main content

undici CVE-2026-84947

| EUVDEUVD-2026-71517 MEDIUM
Improper Input Validation (CWE-20)
2026-09-04 openjs GHSA-2gqq-gqf2-x968
Medium
Disputed · 5.3 NVD
View

Attack ChainAIDerived

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

  1. Recon
    Control or influence the upstream HTTP server
  2. Delivery
    Serve large chunked response with no Content-Length
  3. Exploit
    Application dump interceptor hits byte ceiling
  4. Install
    Interceptor emits early completion without aborting parser
  5. C2
    Parser delivers remaining bytes, fires second completion
  6. Execute
    Assertion failure tears down connection
  7. Impact
    Application receives misleading HTTP 200 with empty body

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
Exploitation Conditions

Three conditions must align: (1) the application explicitly uses undici's dump interceptor feature - this is not enabled by default and requires developer opt-in; (2) the responding server sends a response using chunked transfer encoding without a Content-Length header; (3) the response body exceeds the interceptor's configured maximum byte threshold. Exploitation is further constrained by AC:H because the attacker must control or influence the responding HTTP server to return a qualifying chunked response of sufficient size. Standard Content-Length responses are handled safely and are not vulnerable. No authentication is required on the client side (PR:N), but server-side conditions must be met. Applications that never use the dump interceptor, or that only receive responses from trusted servers that always include Content-Length, are not exposed.

Impact

The CVSS 3.7 base score (AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N) accurately reflects a low-severity, high-complexity issue. AC:H is justified because exploitation requires the application to have the dump interceptor enabled, the responding server to use chunked transfer encoding without a Content-Length header, and the body to exceed the configured maximum - three conditions that must align simultaneously. No EPSS data was provided, and the issue is not listed in CISA KEV. The vendor's A:N metric warrants scrutiny: connection teardown is an availability event, and in connection-pool-intensive applications the disconnection could exhaust pool slots or cause cascading request failures, suggesting A:L is arguably more accurate. The integrity impact (I:L) is realistic - application logic that interprets an empty body as a valid empty response may silently skip expected processing. Despite being reported by the OpenJS Foundation CNA under a GHSA advisory, no proof-of-concept code has been identified. Real-world risk is low unless the dump interceptor is actively used and the application handles large chunked responses from potentially adversarial servers.

Exploit ScenarioDerived

A server returns a large chunked HTTP response (no Content-Length header) to a Node.js application using undici with the dump interceptor configured. Once the accumulated chunk bytes exceed the interceptor's maximum, the early completion signal is emitted; the parser delivers more bytes, fires a second completion event, and the assertion trips. The application's code receives an HTTP 200 with an empty body and continues as if the operation succeeded, while the underlying connection is silently destroyed.

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

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

Alert me

AnalysisAIv1 – Sep 04, 2026

Chunked-body handling in undici's dump interceptor triggers a double-completion assertion that tears down the underlying TCP connection while returning a misleading success status to the application. Affected are undici versions 7.1.0 through 7.29.0 and 8.0.0 through 8.10.1; fixed releases 7.29.1 and 8.10.2 are available. No public exploit or active exploitation has been identified; the CVSS 3.7 score reflects the high attack complexity and limited real-world impact relative to the narrow exploitation path.

RemediationAI

Upgrade undici to version 7.29.1 (for the 7.x branch) or 8.10.2 (for the 8.x branch); these are the vendor-confirmed fixed releases. Applications using Node.js's built-in fetch that depend on the bundled undici should verify which undici version ships with their Node.js release and update accordingly, or pin an explicit undici dependency at the patched version. As a compensating control where immediate upgrade is not feasible, disable or remove the dump interceptor from the application's undici client configuration - this eliminates the vulnerable code path entirely with no functional loss for applications that do not rely on automatic body discarding. Alternatively, ensure all upstream servers return Content-Length headers for responses subject to the dump interceptor, which triggers the safe abort path rather than the flawed early-completion path; note this depends on server-side control and is not a reliable mitigation against adversarial servers. Refer to the GHSA advisory at https://github.com/nodejs/undici/security/advisories/GHSA-2gqq-gqf2-x968 for patch details.

Affected VersionsENISA

undici 8.0.0 <8.10.2
undici 7.1.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:2.3:a:undici:undici:*:*:*:*:*:*:*:*) is the high-performance HTTP/1.1 client bundled with Node.js as the underlying implementation of the platform's built-in Fetch API. Its dump interceptor is an opt-in middleware that reads and discards response bodies to free the connection pool, with a configurable byte ceiling. CWE-20 (Improper Input Validation) describes the root cause: the interceptor correctly validates responses that declare a Content-Length exceeding the ceiling, aborting before reading, but fails to validate the stream-completion signal for chunked transfer-encoded responses (no Content-Length header). When accumulated chunk bytes reach the ceiling the interceptor emits an early completion signal without pausing or closing the parser; the HTTP parser continues delivering bytes, fires a second completion event, and the resulting assertion failure collapses the connection. The application's observed outcome - a successful HTTP status code paired with an empty or truncated body - is the integrity signal captured by the I:L metric.

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 4.8 MEDIUM

AC:H for three-condition alignment; A:L added because connection teardown is a concrete availability impact omitted by vendor's A:N.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:L/VA:L/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 6.5 MEDIUM

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:37 NVD
LOW MEDIUM
CVSS changed
Sep 15, 2026 - 14:37 NVD
3.7 (LOW) 5.3 (MEDIUM)
Patch available
Sep 04, 2026 - 18:03 EUVD
CVE Published
Sep 04, 2026 - 16:53 cve.org
LOW 3.7

DescriptionNVD

undici's dump interceptor reads and discards a response body up to a configurable maximum size. When a response declares a Content-Length that exceeds the maximum, the interceptor aborts cleanly, but when a response has no Content-Length and is chunked, the interceptor instead signals completion early once the accumulated size reaches the maximum, without pausing or aborting the request. Because the underlying parser keeps delivering body bytes, a second completion signal fires and trips an internal assertion, which aborts the request and tears down the connection. The application is left observing a misleading successful status with an empty or truncated body while the connection has actually been disconnected. This affects undici versions from 7.1.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
  • 27 npm packages depend on undici (3 direct, 24 indirect)

Ecosystem-wide dependent count for version 7.1.0.

Threat Intelligence Overview

EPSS Score
0.2%
Top 91% exploitable
Prevalence
High
bundled with Node.js as the built-in Fetch implementation
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.2%
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
Defer
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Low
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

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

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