GitHub Advisoryadvisory · npm

GHSA-pmjh-fq2x-6v4x undici vulnerable to Denial of Service via orphaned RetryHandler response body

MEDIUM Published 2026-09-29 Modified 2026-09-29 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