GHSA-4qv8-2p9j-2685: Medium severity npm/undici vulnerability

Published Oct 23, 2026
·
Updated

Impact

undici's EventSource client can be driven to exhaust process memory by a malicious or compromised Server-Sent Events peer. By sending millions of tiny completed data: fields with no blank event separator, or a single unfinished line split across many chunks, the parser retains a growing amount of per-field and per-chunk state. The byte-based maxEventSize and maxResponseSize limits do not bound that retained state, and maxResponseSize is enforced on the compressed body before decompression, so a small compressed response can expand into enough retained memory to terminate the process. The application only needs to maintain an EventSource connection to an untrusted peer, which controls only the response. Availability is the only impact.

Patches

Upgrade to 6.29.1, 7.30.1, or 8.12.2, which bound the retained EventSource parser state (the number of data fields and buffered chunks, the unfinished-line length, and per-field byte totals) independently of the byte limits.

Workarounds

None.

Affected Software

3 affected componentsFixes available
npm/undici>=8.0.0<8.12.2
8.12.2
npm/undici>=7.0.0<7.30.1
7.30.1
npm/undici>=6.5.0<6.29.1
6.29.1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade npm/undici to a version that resolves this vulnerability.

    Fixed in 8.12.2
  2. Upgrade

    Upgrade npm/undici to a version that resolves this vulnerability.

    Fixed in 7.30.1
  3. Upgrade

    Upgrade npm/undici to a version that resolves this vulnerability.

    Fixed in 6.29.1
  4. Upgrade

    Upgrade undici to a version that resolves this vulnerability.

    Fixed in 6.29.1
  5. Upgrade

    Upgrade undici to a version that resolves this vulnerability.

    Fixed in 7.30.1
  6. Upgrade

    Upgrade undici to a version that resolves this vulnerability.

    Fixed in 8.12.2

Event History

Oct 23, 2026
Advisory Published
via GitHub·10:13 PM
Data Sourced
via GitHub·10:13 PM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

Which deployments are realistically exposed?

Applications using undici's EventSource client are exposed when they keep an EventSource connection to an untrusted or compromised Server-Sent Events peer. The peer only needs control of the response; no authentication or user interaction is required.

2

Can the existing event or response size limits prevent this memory exhaustion?

No. maxEventSize and maxResponseSize do not bound the retained parser state involved in this issue. Additionally, maxResponseSize is applied to the compressed body before decompression, allowing a small compressed response to expand into sufficient retained memory to terminate the process.

3

What should teams do if they cannot patch immediately?

No workaround is provided. Upgrade undici to 6.29.1, 7.30.1, or 8.12.2, which add independent bounds for retained EventSource parser state.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203