ALPINE-CVE-2026-123867: Medium severity alpine/nodejs vulnerability

Published Nov 11, 2026
·
Updated

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/cryptotls.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 Software

4 affected componentsFixes available
alpine/nodejs<22.23.5-r0
22.23.5-r0
alpine/nodejs<22.23.5-r0
22.23.5-r0
alpine/nodejs<24.22.3-r0
24.22.3-r0
alpine/nodejs<24.22.3-r0
24.22.3-r0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade alpine/nodejs to a version that resolves this vulnerability.

    Fixed in 22.23.5-r0
  2. Upgrade

    Upgrade alpine/nodejs to a version that resolves this vulnerability.

    Fixed in 24.22.3-r0

Event History

Nov 11, 2026
CVE Published
via OSV·07:17 PM
Data Sourced
via OSV·07:17 PM
DescriptionSeverityAffected Software

Frequently Asked Questions

1

Which deployments are exposed?

Affected deployments use Node.js 26.x, 24.x, or 22.x and configure a protected SNI hostname with server.addContext(host, { ca: protectedCA }) without a server certificate in that hostname's context. The server must also use mutual TLS client-certificate verification.

2

What does an attacker need to exploit this?

The attacker needs a client certificate trusted by the default hostname's client CA, but not by the protected hostname's intended client CA. They can then connect to the protected hostname and complete the mutual-TLS handshake using the default CA authorization.

3

Does enabling requestCert and rejectUnauthorized prevent the issue?

No. The issue can occur even when both options are enabled, because the protected hostname's CA is not installed when its SNI context contains only a CA and no server certificate.

4

How can I identify vulnerable configurations or reduce exposure before a fix is available?

Review server.addContext calls for hostname-specific contexts that set a ca value but omit a server certificate. Do not rely on a CA-only SNI context to enforce separate client-certificate authorization for a protected hostname.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203