CVE-2026-87018
Last modified
CVE-2026-87018 is a high-severity vulnerability rated 7.5/10 on the CVSS scale. undici is an HTTP client library for Node.js. In versions 4.2.1 through 6.29.0, 7.0.0 through 7.30.0, and 8.0.0 through 8.12.1, the client process crashes 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. EPSS estimates a 0.18% chance of exploitation in the next 30 days.
Description
undici is an HTTP client library for Node.js. In versions 4.2.1 through 6.29.0, 7.0.0 through 7.30.0, and 8.0.0 through 8.12.1, the client process crashes 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 a certificate-altname error, but undici's established-socket error handler asserted that this error code could never occur, so the peer-controlled error became an uncaught assertion that terminates the Node.js process, affecting both the HTTP/1.1 and HTTP/2 paths. 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, and exploitation needs no CA compromise because the attacker controls the endpoint and can present two ordinary valid certificates. Only TLS 1.2 is affected, since TLS 1.3 does not support renegotiation. The issue is fixed in undici 6.29.1, 7.30.1, and 8.12.2, and users should upgrade to one of those versions or later. As a workaround, restrict outbound connections to TLS 1.3 so renegotiation cannot occur, when the target endpoints support it.
Metrics
Weakness Enumeration
Affected Software
| Vendor | Product | Versions |
|---|---|---|
| Nodejs | Undici | >= 4.2.1, < 6.29.1 |
| Nodejs | Undici | >= 7.0.0, < 7.30.1 |
| Nodejs | Undici | >= 8.0.0, < 8.12.2 |
References
- https://cna.openjsf.org/security-advisories.htmlVendor Advisory
Timeline
- Published
- Last Modified
- Status
- Analyzed
Frequently Asked Questions
What is CVE-2026-87018?
How severe is CVE-2026-87018?
How do I fix CVE-2026-87018?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-87012Open WebUI is an extensible, feature-rich, and user-friendly…4.3
- CVE-2026-87013Open WebUI is an extensible, feature-rich, and user-friendly…4.3
- CVE-2026-87014Open WebUI is an extensible, feature-rich, and user-friendly…6.5
- CVE-2026-87015Open WebUI is an extensible, feature-rich, and user-friendly…6.8
- CVE-2026-87016Open WebUI is an extensible, feature-rich, and user-friendly…8.1
- CVE-2026-87017Open WebUI is an extensible, feature-rich, and user-friendly…4.3
- CVE-2026-87019Tanium addressed an improper access controls vulnerability i…4.3
- CVE-2026-8702The GBI To Print plugin for WordPress is vulnerable to Store…6.4
- CVE-2026-87020An integer overflow in a specified pitch and buffer-size com…8.1
- CVE-2026-87021Tanium addressed an unauthorized code execution vulnerabilit…7.2
- CVE-2026-87022Improper handling of length parameter inconsistency vulnerab…7.5
- CVE-2026-87023Tanium addressed a path traversal vulnerability in Comply.8.5
Are you affected by CVE-2026-87018?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
