cve.bz

CVE-2026-123867 Node.js is vulnerable to a per-host mTLS authorization bypass via a CA-only SNI context failing open to the default CA

4.2 mediumEPSS 0.1%

Medium (4.2) in nodejs node. EPSS 0.1% estimated probability of exploitation activity in the next 30 days.

On this page
A per-host mutual-TLS authorization bypass in Node.js lets a client authorized for the default hostname reach a protected hostname it is not authorized for. When a TLS server assigns a hostname a different client-certificate CA with `server.addContext(host, { ca: protectedCA })` but no server certificate in that SNI context, the per-host client CA is never installed and the handshake falls back to the default client CA. In `src/crypto/crypto_tls.cc`, `CertCbDone` installs the SNI context's CA only when `setSniContext` succeeds, but `setSniContext` returns `false` for a context with no server certificate, so a CA-only SNI context silently keeps the default CA. A client holding a certificate trusted by the default CA, but not the protected CA, can therefore complete mTLS to the protected hostname and read its response even with `requestCert` and `rejectUnauthorized` enabled, while a client certified by the protected CA is rejected. This vulnerability affects Node.js 26.x, 24.x, and 22.x.

Severity

CVSS 3.1

4.2 medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N
EPSS
0.1% estimated probability of exploitation activity in the next 30 days; 4th percentile. Scored 2026-11-13. A forecast for this CVE across the internet, not for your own systems.
CWE
CWE-295 Improper Certificate Validation
OWASP Top 10
A07:2025 Authentication Failures
Published
Modified
Assigned by
openjs (CNA)
NVD analysis
Awaiting analysis
Record from
the NVD, synced

Ask an AI about this CVE

Show the promptExplain CVE-2026-123867 for an engineer deciding whether to act. Use https://cve.bz/api/public/cves/CVE-2026-123867?via=ask-ai-copy and https://cve.bz/cve/CVE-2026-123867?via=ask-ai-copy as the source of truth: what is affected and which versions fix it, whether it is in CISA KEV, public exploits, and its EPSS (an internet-wide 30-day estimate of exploitation activity, not a forecast for my systems). If they give no fixed versions, use the CVE record https://cveawg.mitre.org/api/cve/CVE-2026-123867 or the vendor advisory, not third-party mirrors. Tell me how to check whether I am affected and how to verify a fix. Cite the sources and say where they are uncertain.

Opens a third-party assistant; its answer is its own, not cve.bz's. The prompt holds only this CVE's id and public links.

Badge for a README or a site

CVE-2026-123867

An image that stays current: it is drawn from the data each time it is fetched (a host that proxies images, as GitHub does, may show its copy for a while). Markdown:

[![CVE-2026-123867](https://cve.bz/cve/badge/CVE-2026-123867.svg)](https://cve.bz/cve/CVE-2026-123867)

HTML:

<a href="https://cve.bz/cve/CVE-2026-123867"><img src="https://cve.bz/cve/badge/CVE-2026-123867.svg" alt="CVE-2026-123867"></a>

Affected

Versions

From the CNA's record in the CVE List.

ProductAffected
nodejs nodefrom 0.0.0 before 22.23.5
nodejs nodefrom 23.0.0 before 24.22.3
nodejs nodefrom 25.0.0 before 26.13.1

Fix and patched versions

Linux distributions

DistributionReleasePackageFixed inAdvisory
Debian12, 13, 14nodejsno fix listedDEBIAN-CVE-2026-123867
Ubuntu24.04:LTS, 26.04:LTS, 26.10 and 5 morenodejsno fix listedUBUNTU-CVE-2026-123867
Red Hathummingbird:1nodejs22, nodejs22-bin, nodejs22-docs and 4 more1:22.23.5-2.3.2.3.1.hum1RHSA-2026:99433
Red Hathummingbird:1nodejs22-npm1:10.9.9-1.22.23.5.2.3.2.3.1.hum1RHSA-2026:99433
Red Hathummingbird:1nodejs24, nodejs24-bin, nodejs24-docs and 3 more1:24.22.3-0.1.hum1RHSA-2026:99435
Red Hathummingbird:1nodejs24-npm2:11.19.1-1.24.22.3.0.1.hum1RHSA-2026:99435
Red Hathummingbird:1nodejs24-npm-bin2:24.22.3-0.1.hum1RHSA-2026:99435
Red Hathummingbird:1nodejs26, nodejs26-bin, nodejs26-docs and 4 more1:26.13.1-0.1.hum1RHSA-2026:99436
Red Hathummingbird:1nodejs26-npm1:11.20.0-1.26.13.1.0.1.hum1RHSA-2026:99436
Alpinev3.21, v3.22nodejs22.23.5-r0ALPINE-CVE-2026-123867
Alpinev3.23, v3.24nodejs24.22.3-r0ALPINE-CVE-2026-123867
Alpinev3.24nodejs-current26.13.1-r0ALPINE-CVE-2026-123867
Alpaquitastreamnodejs2222.23.5-r0BELL-CVE-2026-123867
Alpaquitastreamnodejs2424.22.3-r0BELL-CVE-2026-123867
Alpaquitastreamnodejs2626.13.1-r0BELL-CVE-2026-123867
BellSoft Hardened Containersstreamnodejs2222.23.5-r0BELL-CVE-2026-123867
BellSoft Hardened Containersstreamnodejs2424.22.3-r0BELL-CVE-2026-123867
BellSoft Hardened Containersstreamnodejs2626.13.1-r0BELL-CVE-2026-123867

From the distributions' data via OSV.dev: the Debian Security Tracker; Ubuntu Security Notices © Canonical Ltd., CC BY-SA 4.0; Red Hat Security Data © Red Hat, Inc., CC BY 4.0; the Alpine secdb, CC BY-SA 4.0; BellSoft's OSV database, MIT. Modified: reformatted and linked to CVE records. Credits. On the distributions' own pages: Debian · Ubuntu · Red Hat · Alpine · Alpaquita · BellSoft Hardened Containers.

Red Hat

Red Hat rates this Moderate.

Red Hat's statement

This vulnerability is rated as having Moderate impact because successful exploitation requires a non-standard configuration and existing authorized client credentials, restricting the flaw to cross-tenant boundary traversal rather than arbitrary unauthenticated access. In standard Red Hat enterprise environments, Node.js applications enforcing mutual TLS typically either configure dedicated server certificates for each virtual host or terminate TLS upstream at an API gateway or reverse proxy. The impact is therefore limited to specific deployments that rely on runtime SNI-based client CA switching without defining host-specific server certificates.

Red Hat's mitigation

When using server.addContext() for per-host client CAs, always include a server certificate in that SNI context so the host-specific CA is applied. Prefer terminating mTLS at a reverse proxy when possible.

ProductPackageStateAdvisory
Red Hat Enterprise Linux 10nodejs22Fix deferred
Red Hat Enterprise Linux 10nodejs24Fix deferred
Red Hat Enterprise Linux 10nodejs26Fix deferred
Red Hat Enterprise Linux 8nodejs:22/nodejsFix deferred
Red Hat Enterprise Linux 8nodejs:24/nodejsFix deferred
Red Hat Enterprise Linux 9nodejs:22/nodejsFix deferred
Red Hat Enterprise Linux 9nodejs:24/nodejsFix deferred
Red Hat Enterprise Linux 9nodejs:26/nodejsFix deferred
Red Hat Hardened Imageshi/nodejsUnder investigation
Red Hat Hardened Imagesnodejs20Will not fix
Red Hat Hardened Imagesnodejs22Affected
Red Hat Hardened Imagesnodejs24Affected
Red Hat Hardened Imagesnodejs25Will not fix
Red Hat Hardened Imagesnodejs26Affected
Red Hat Hardened Imagesnpm12Under investigation

Contains Red Hat Security Data © Red Hat, Inc., licensed under CC BY 4.0. Source: https://access.redhat.com/security/data. Modified: reformatted. Red Hat's page for CVE-2026-123867.

Attack patterns (CAPEC)

  • CAPEC-459 Creating a Rogue Certification Authority Certificate Likelihood: Medium · Severity: Very High
  • CAPEC-475 Signature Spoofing by Improper Validation Likelihood: Low · Severity: High

The attack patterns MITRE's CAPEC relates to this record's weaknesses, as MITRE names them. Credits.

References

Check your stackJSON