CVE-2026-18149
CVE-2026-18149 is a medium-severity vulnerability in Nodejs Undici with a CVSS 3.x base score of 5.9. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low. The underlying weakness is classified as CWE-772.
Key facts
- Severity: Medium (CVSS 3.x base score 5.9)
- EPSS exploit prediction: 0% (28th percentile)
- Actively exploited: Not listed in CISA KEV
- Weakness: CWE-772
- Affected product: Nodejs Undici
- Published:
- Last modified:
Description
undici's retry handler can leave an already-exposed response body pending forever. When a server returns a successful response that declares a Content-Length, sends only part of the body, and closes the connection, the retry handler retries the request. If the retry returns a non-retryable status such as 400, the handler forwards that new response downstream and replaces its internal response stream, but the original response body that the application still holds is never ended or destroyed. As a result calls that read that body never settle, and the configured body timeout does not fire because its timer is tied to the connection parser rather than the orphaned body. An attacker-controlled server can trigger this with two short responses without keeping a connection open, and repeated requests accumulate pending promises and streams that can exhaust application concurrency or memory. This affects undici versions from 7.11.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.
Frequently asked questions
- What is CVE-2026-18149?
- undici's retry handler can leave an already-exposed response body pending forever. When a server returns a successful response that declares a Content-Length, sends only part of the body, and closes the connection, the retry handler retries the request. If the retry returns a non-retryable status such as 400, the handler forwards that new response downstream and replaces its internal response stream, but the original response body that the application still holds is never ended or destroyed. As a result calls that read that body never settle, and the configured body timeout does not fire because its timer is tied to the connection parser rather than the orphaned body. An attacker-controlled server can trigger this with two short responses without keeping a connection open, and repeated requests accumulate pending promises and streams that can exhaust application concurrency or memory. This affects undici versions from 7.11.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.
- How severe is CVE-2026-18149?
- CVE-2026-18149 has a CVSS 3.x base score of 5.9, rated medium severity. It is exploitable over network with high attack complexity, requires no privileges and no user interaction. Impact on confidentiality is none, integrity none, and availability high.
- Is CVE-2026-18149 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 0% (28th percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2026-18149?
- CVE-2026-18149 affects Nodejs Undici. See the affected-products list for the exact vulnerable versions.
- How do I fix CVE-2026-18149?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround.
- When was CVE-2026-18149 published?
- CVE-2026-18149 was published on 2026-09-04 and last updated on 2026-09-16.
References
- https://cna.openjsf.org/security-advisories.html
- https://github.com/nodejs/undici/security/advisories/GHSA-pmjh-fq2x-6v4x
Affected products (1)
- cpe:2.3:a:nodejs:undici:*:*:*:*:*:node.js:*:*
More vulnerabilities in Nodejs Undici
- CVE-2026-19534 — High (CVSS 7.5): undici's WebSocket client crashes the whole Node.js process during the opening handshake when a server responds with a…
- CVE-2026-6734 — High (CVSS 7.5): Impact: When using Socks5ProxyAgent, undici reuses a single connection pool across different origins without verifying…
- CVE-2026-9675 — High (CVSS 7.5): Impact: The undici WebSocket client enforces maxPayloadSize per-frame but does not enforce the cumulative size of…
- CVE-2026-12151 — High (CVSS 7.5): Impact: The undici WebSocket client enforces maxPayloadSize on the cumulative byte count of fragments in a message but…
- CVE-2026-2229 — High (CVSS 7.5): ImpactThe undici WebSocket client is vulnerable to a denial-of-service attack due to improper validation of…
- CVE-2026-1528 — High (CVSS 7.5): ImpactA server can reply with a WebSocket frame using the 64-bit length form and an extremely large length. undici's…
All CVEs affecting Nodejs Undici →
Other CWE-772 vulnerabilities
- CVE-2020-12134 — Critical (CVSS 9.8): Nanometrics Centaur through 4.3.23 and TitanSMA through 4.2.20 mishandle access control for the syslog log.
- CVE-2017-15032 — Critical (CVSS 9.8): ImageMagick version 7.0.7-2 contains a memory leak in ReadYCBCRImage in coders/ycbcr.c.
- CVE-2017-14138 — Critical (CVSS 9.8): ImageMagick 7.0.6-5 has a memory leak vulnerability in ReadWEBPImage in coders/webp.c because memory is not freed in…
- CVE-2017-11641 — Critical (CVSS 9.8): GraphicsMagick 1.3.26 has a Memory Leak in the PersistCache function in magick/pixel_cache.c during writing of Magick…
- CVE-2020-14339 — High (CVSS 8.8): A flaw was found in libvirt, where it leaked a file descriptor for `/dev/mapper/control` into the QEMU process. This…
- CVE-2018-19760 — High (CVSS 8.8): cfg_init in confuse.c in libConfuse 3.2.2 has a memory leak.