CVE-2026-105236 Details
Description
Improper Certificate Validation vulnerability in the ssl application in Erlang/OTP allows a client that holds a certificate trusted by one SNI virtual host to authenticate to a second SNI virtual host on the same listener by resuming its TLS 1.2 session there. A server that serves several SNI names from one listen socket through sni_fun or sni_hosts keeps one pre-TLS 1.3 session cache per listener and does not bind a cached session to the SNI name or client trust policy that established it. When an SNI option set switches to verify_peer without naming reuse_sessions, ssl_config:update_options/3 inherits the base listener's reuse_sessions value of true, so the default that disables reuse for client-authenticating servers does not apply. On an abbreviated handshake ssl_session:is_resumable/4 checks only that the cached session uses one of the current server certificates and carries some peer certificate, and never revalidates that certificate against the CA selected for the requested name. The names must share a server certificate, which is common with wildcard or multi-SAN certificates. TLS 1.3 does not use this cache and is not affected. This issue affects OTP from OTP 18.0 before OTP 27.3.4.19, OTP 28.5.0.8, and OTP 29.1.2, corresponding to ssl from 7.0 before 11.2.12.14, 11.6.0.7, and 11.7.8.
A vulnerability in the ssl application of Erlang/OTP allows a client to misuse certificate trust across different Server Name Indication (SNI) virtual hosts on the same listener. This is achieved by resuming a TLS 1.2 session from a lower-trust SNI to a higher-trust SNI, without proper validation of the client's certificate against the appropriate Certificate Authority (CA). The issue arises because the session cache, which is shared among SNI names using the same server certificate, does not associate sessions with specific SNI names or trust policies. As a result, a client can authenticate to a higher-trust SNI using a certificate trusted by a lower-trust SNI.
Update to Erlang/OTP versions 27.3.4.19, 28.5.0.8, or 29.1.2. If an immediate update is not possible, consider serving distinct SNI trust domains on separate listen sockets or restricting the listener to TLS 1.3, which does not use the session-ID cache.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
Volerion
Assessed Oct 14, 2026CISA-ADP
Assessed Oct 16, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://cna.erlef.org/cves/CVE-2026-105236.html | EEF | AdvisoryExploitRemedy |
| https://github.com/erlang/otp/commit/0c20f3683b3c81fd30b46047195be9b3d2c69d76 | EEF | Source CodeVendor |
| https://github.com/erlang/otp/commit/10ee925d0fee8413f1170cc21bfcf123c8d22454 | EEF | Source CodeVendor |
| https://github.com/erlang/otp/commit/4d76adbf39d547a931048544df09c3c087e56618 | EEF | Source CodeVendor |
| https://github.com/erlang/otp/commit/4fe38c4b8b2c8024afb60990e598ff823743fd54 | EEF | Source CodeVendor |
| https://github.com/erlang/otp/security/advisories/GHSA-2g23-cgjh-34gq | EEF | AdvisoryRemedyVendor |
| https://osv.dev/vulnerability/EEF-CVE-2026-105236 | EEF | AdvisoryExploit |
| https://www.erlang.org/doc/system/versions.html#order-of-versions | EEF | Vendor |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-295 | Improper Certificate Validation | EEF |
Affected Products
| Product | Versions |
|---|---|
| Erlang | >= 18.0, < 27.3.4.19 >= 28.5.0.8 >= 29.1.2 (semver) |
CPE
Remediation
| |
| Erlang SSL | >= 7.0, < 11.2.12.14 >= 11.6.0.7 >= 11.7.8 (semver) |
CPE
Remediation
| |
Change History
2 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Oct 16, 2026 | CVE Modified | CISA-ADP |
| Oct 14, 2026 | New CVE Received | EEF |
Volerion