GitHub Advisoryadvisory · npm
GHSA-qrxm-fqhp-jwvm undici vulnerable to Denial of Service via TLS 1.2 certificate-changing renegotiation
HIGH
Official page ↗
- Aliases
- CVE-2026-87018
- Ecosystem
- npm
- Packages
- undici
- Severity
- High
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- Weaknesses
- CWE-248, CWE-617
- Reviewed
- 2026-10-27
Affected packages
• npm undici: >= 4.2.1, < 6.29.1 → fixed in 6.29.1
• npm undici: >= 7.0.0, < 7.30.1 → fixed in 7.30.1
• npm undici: >= 8.0.0, < 8.12.2 → fixed in 8.12.2
Description
Impact
undici crashes the client process when a TLS 1.2 server renegotiates after the connection is established and presents a different, CA-trusted certificate whose hostname does not match the requested host. Node.js re-runs hostname verification on the renegotiated handshake and destroys the socket with `ERR_TLS_CERT_ALTNAME_INVALID`. undici's established socket error handler asserted that this error code could never occur, so the peer-controlled error became an uncaught `AssertionError` that terminates the Node.js process. Both the HTTP/1.1 and HTTP/2 paths are affected.
A malicious or compromised HTTPS endpoint reached through undici or the global `fetch()` can crash the client with a single server-initiated renegotiation, taking down all in-flight requests and background work in the process. Only TLS 1.2 is affected, because TLS 1.3 does not support renegotiation. Exploitation does not require a CA compromise: the attacker controls the endpoint and can present two ordinary valid certificates, the first matching the requested URL and the second intentionally not matching it.
Patches
Upgrade to undici 6.29.1, 7.30.1, or 8.12.2.
Workarounds
Restrict outbound connections to TLS 1.3, for example by setting `connect: { minVersion: 'TLSv1.3', maxVersion: 'TLSv1.3' }` on the client or agent, so that renegotiation cannot occur, when the target endpoints support TLS 1.3.
Related
Alias · CVE (1)
- CVE-2026-87018 undici is an HTTP client library for Node.js. vulnerability
References
- https://github.com/nodejs/undici/security/advisories/GHSA-qrxm-fqhp-jwvm web
- https://nvd.nist.gov/vuln/detail/CVE-2026-87018 advisory
- https://github.com/nodejs/undici/commit/12cfd96c3f430897656e3edc1c5e02be8c1cd309 web
- https://github.com/nodejs/undici/commit/b40fbfc0651703cf9fa9f6ced68b679f28d8bb28 web
- https://github.com/nodejs/undici/commit/e257e9f8fb42eedd50727b9cf65e548c8925e4a8 web
- https://cna.openjsf.org/security-advisories.html web
- https://github.com/nodejs/undici package
- https://github.com/nodejs/undici/releases/tag/v6.29.1 web
- https://github.com/nodejs/undici/releases/tag/v7.30.1 web
- https://github.com/nodejs/undici/releases/tag/v8.12.2 web