Skip to content
OpenAdvisories
Medium · 4.2 CVE-2026-123867 EUVD-2026-123689GHSA-xhqh-vr6v-3wgj

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

Published Nov 11, 2026 · Updated Nov 12, 2026 · Assigned by openjs

Description

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.

Affected products

VendorProductAffectedFixed
nodejs node 0.0.0 – < 22.23.5, 23.0.0 – < 24.22.3, 25.0.0 – < 26.13.1 22.23.5

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 nodejs No fix yet —
Debian 13 nodejs No fix yet —
Debian 12 nodejs No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 nodejs No fix yet —
Ubuntu 26.04 LTS nodejs No fix yet —
Ubuntu 24.04 LTS nodejs No fix yet —
Show 5 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro 22.04 LTS nodejs No fix yet —
Ubuntu Pro 20.04 LTS nodejs No fix yet —
Ubuntu Pro 18.04 LTS nodejs No fix yet —
Ubuntu Pro 16.04 LTS nodejs No fix yet —
Ubuntu Pro 14.04 LTS nodejs No fix yet —
ReleasePackageFixed inAdvisory
Red Hat Hardened Images 1 nodejs22 +6 1:22.23.5-2.3.2.3.1.hum1 RHSA-2026:99433
Red Hat Hardened Images 1 nodejs22-npm 1:10.9.9-1.22.23.5.2.3.2.3.1.hum1 RHSA-2026:99433
Red Hat Hardened Images 1 nodejs24 +5 1:24.22.3-0.1.hum1 RHSA-2026:99435
Red Hat Hardened Images 1 nodejs24-npm 2:11.19.1-1.24.22.3.0.1.hum1 RHSA-2026:99435
Red Hat Hardened Images 1 nodejs24-npm-bin 2:24.22.3-0.1.hum1 RHSA-2026:99435
Red Hat Hardened Images 1 nodejs26 +6 1:26.13.1-0.1.hum1 RHSA-2026:99436
Red Hat Hardened Images 1 nodejs26-npm 1:11.20.0-1.26.13.1.0.1.hum1 RHSA-2026:99436
ReleasePackageFixed inAdvisory
Alpine v3.24 nodejs 24.22.3-r0 —
Alpine v3.24 nodejs-current 26.13.1-r0 —
Alpine v3.23 nodejs 24.22.3-r0 —
Alpine v3.22 nodejs 22.23.5-r0 —
Alpine v3.21 nodejs 22.23.5-r0 —

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2023 nodejs22 +4 1:22.23.5-1.amzn2023.0.1 ALAS2023-2026-3456
Amazon Linux 2023 nodejs22-npm 1:10.9.9-1.22.23.5.1.amzn2023.0.1 ALAS2023-2026-3456
Amazon Linux 2023 nodejs24 +4 1:24.22.3-1.amzn2023.0.1 ALAS2023-2026-3457
Amazon Linux 2023 nodejs24-npm 1:11.19.1-1.24.22.3.1.amzn2023.0.1 ALAS2023-2026-3457
Amazon Linux 2023 v8-12.4-devel 3:12.4.254.21-1.22.23.5.1.amzn2023.0.1 ALAS2023-2026-3456
Amazon Linux 2023 v8-13.6-devel 3:13.6.233.17-1.24.22.3.1.amzn2023.0.1 ALAS2023-2026-3457

Advisories 7

References