GitHub Advisoryadvisory · npm
GHSA-pmjh-fq2x-6v4x undici vulnerable to Denial of Service via orphaned RetryHandler response body
MEDIUM
Official page ↗
- Aliases
- CVE-2026-18149
- Ecosystem
- npm
- Packages
- undici
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
- Weaknesses
- CWE-772
- Reviewed
- 2026-09-29
Affected packages
• npm undici: >= 7.11.0, < 7.29.1 → fixed in 7.29.1
• npm undici: >= 8.0.0, < 8.10.2 → fixed in 8.10.2
Description
Impact
undici's `RetryHandler` can leave a response body pending indefinitely. When a retried request receives a non-retryable response after a truncated one, the original `response.body` held by the application is never settled, so reads such as `response.body.text()` hang and `bodyTimeout` does not fire. A malicious server can repeat this to accumulate pending promises and streams, leading to denial of service.
Patches
Patched in undici v7.29.1 and v8.10.2.
Workarounds
Impose an independent request deadline and destroy the response body when it expires. `bodyTimeout` alone does not prevent this.
Related
Alias · CVE (1)
- CVE-2026-18149 undici's retry handler can leave an already-exposed response body pending forever. vulnerability
Weakness · CWE (1)
- CWE-772 Missing Release of Resource after Effective Lifetime weakness
References
- https://github.com/nodejs/undici/security/advisories/GHSA-pmjh-fq2x-6v4x web
- https://nvd.nist.gov/vuln/detail/CVE-2026-18149 advisory
- https://github.com/nodejs/undici/commit/3c6726599cea8646384dde846c97d630da472a74 web
- https://github.com/nodejs/undici/commit/e905b5b87e6953bcc542af90557b2fee5b7b5974 web
- https://hackerone.com/reports/3892751 web
- https://cna.openjsf.org/security-advisories.html web
- https://github.com/nodejs/undici package
- https://github.com/nodejs/undici/releases/tag/v7.29.1 web
- https://github.com/nodejs/undici/releases/tag/v8.10.2 web