Node.js: Certificate validation bypass in https.Agent via TLS session reuse
Summary
Node.js https.Agent can reuse a cached TLS session across requests with different CA policies, because a request without ca and one with ca: [] share the same session-cache key. A TLS session authenticated under the default trust store can therefore be reused for a later request that uses the stricter ca: [] policy, and that request reports authorized === true. An attacker who can influence or observe such outbound requests could receive confidential data from a server that the stricter policy would reject. The issue is limited to Node.js applications that make outbound HTTPS calls with different ca settings on a shared agent.
Affected
- Node.js 22.x before 22.23.5
- Node.js 24.x before 24.22.3
- Node.js 26.x before 26.13.1
- Node.js 23.x and 25.x (out of support): the CVE range data suggests these may be affected, but this is not confirmed by the vendor yet
Fixed in
- Node.js 22.23.5
- Node.js 24.22.3
- Node.js 26.13.1 (confirmed in the release notes as "https: isolate Agent TLS policy keys")
- Note: the 22.23.5 and 24.22.3 fixes are confirmed only by third-party sites so far
Workaround
Unknown.
- No vendor-documented workaround was found.
- Stopgap, not verified: review code that sets a custom ca option on a shared agent and avoid reusing one agent across different CA policies.
Exploitation
- Not known to be exploited.
- No public proof of concept found so far.
Our recommendation
- Inventory Node.js runtimes and applications, including those supplied by vendors, and identify versions 22.x, 24.x and 26.x.
- Update to 22.23.5, 24.22.3 or 26.13.1 (or later) as soon as possible.
- Patch CVE-2026-123867 (same release) together with this issue.
- Review code that uses custom ca settings with shared https agents and avoid mixing CA policies on one agent.
- Monitor the Node.js advisory for confirmation of affected ranges and any workaround.
Public exploits
PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.
Research sources
- OpenJS CNA security advisories cna.openjsf.org
- Node.js November 2026 security releases nodejs.org
- Node.js 26.13.1 release notes nodejs.org
- VulDB CVE-2026-123877 vuldb.com
- OffSeq threat radar CVE-2026-123877 radar.offseq.com
- ThreatInt CVE-2026-123877 cve.threatint.com
Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 11 Nov 2026, 20:41.
Original description (NVD)
A certificate validation bypass in Node.js https.Agent lets a cached TLS session authenticated under one CA policy be reused by a later request with a stricter policy. https.Agent.prototype.getName() assigns the same Agent and session-cache key to a request that omits ca and one that explicitly supplies ca: [], because an omitted value appends nothing to the key while an empty array stringifies to an empty string. The two policies differ: omitting ca uses the default trust store, while supplying ca replaces it. Since they share a key, a TLS session authenticated under the broader default policy is handed to a new connection made under the later ca: [] policy, and TLS 1.3 session resumption carries the earlier authentication forward, so the second request reports authorized === true and transmits confidential data to a server its own CA policy would reject on a fresh connection. This vulnerability affects Node.js 26.x, 24.x, and 22.x.
Sources
The tracker combines official, freely usable data sources – updated continuously:
- NVD (NIST) – CVEs, rating (CVSS), affected products
- CISA KEV – vulnerabilities confirmed by CISA as actively exploited
- CISA Vulnrichment – CISA assessment (SSVC) in the official CVE record
- FIRST EPSS – probability of exploitation
- Microsoft MSRC – Patch Tuesday: vulnerabilities, severity, updates
- PoC-in-GitHub – public proof-of-concept repositories
- Metasploit (Rapid7) – modules of the Metasploit Framework
- Exploit-DB (OffSec) – archive of public exploits (links only)
- Patch days: official vendor pages (linked per vendor) (Vendor patch days)
This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.
Affected? We can help.
We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.
