Skip to content
NewA calmer, faster ZeroHour

CVE-2026-123877

TLS CA-policy bypass via session reuse in Node.js https.Agent

CVSS 3.0
6.8 medium
EPSS
—
Published
·
Modified
Analyze CVE-2026-123877 with Vani AIImpact, affected versions, exploitation status, mitigations and detection

Node.js https.Agent can reuse a cached TLS session across different CA policies. getName() gives the same session-cache key to a request that omits ca and one that sets ca to an empty array, so a session authenticated under the default trust store can be resumed for a later, stricter policy. A low-privileged network attacker can make that second request report authorized and send confidential data to a server the stricter policy would reject. Node.js 26.x, 24.x, and 22.x are affected.

What to do: Apply the Node.js Project security update for CVE-2026-123877. Fixed versions are not stated here.

ProductAffected
Node.js26.x, 24.x, and 22.x
Estimated exposure
No basis for an estimate.

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

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.

Weakness
CWE-295
Vector
CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N

In the news

1 story