High severity · published Jul 27, 2026
CVE-2026-55953
TLS 1.2 and DTLS client accepts unoffered anonymous cipher suite, bypassing server authentication
7.4
CVSS
0.2%
EPSS
No
On KEV
Description
The Erlang/OTP ssl TLS 1.2 (and earlier) and DTLS client does not verify that the cipher suite selected by the server in ServerHello was among the suites offered by the client in ClientHello. The client-side tls_handshake:hello/5 handler validates the negotiated protocol version and the downgrade sentinel but hands the server-chosen suite directly to ssl_handshake:handle_server_hello_extensions/9, which installs it without a membership check. The TLS 1.3 client path performs this check (per RFC 8446), so it is not affected.
An on-path attacker between the client and the intended server can respond with a ServerHello selecting an anonymous key exchange suite such as TLS_DH_anon_* or TLS_ECDH_anon_* that the client never offered. Anonymous suites do not require the server to present a certificate, so the entire verify_peer and cacerts configuration is bypassed: the attacker completes the handshake with its own ephemeral parameters, no certificate is validated, no hostname is checked, and ssl:connect returns {ok, Socket}. All subsequent application traffic is readable and modifiable by the attacker.
This issue affects OTP from OTP 17.0 before OTP 27.3.4.15, from OTP 28.0 before OTP 28.5.0.4, and from OTP 29.0 before OTP 29.0.4, corresponding to ssl from 5.3.4 before 11.2.12.11, from 11.3 before 11.6.0.4, and from 11.7 before 11.7.4. Whether OTP before OTP 17.0, corresponding to ssl before 5.3.4, is affected is unknown.
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
Attack vector
Network
Complexity
High
Privileges
None
User interaction
None
Confidentiality
High
Integrity
High
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.2% · higher than 14% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
OT
OTP · Erlang
17.0 before 27.3.4.15; 28.0 before 28.5.0.4; 29.0 before 29.0.4; 5.3.4 before 11.2.12.11; 11.3 before 11.6.0.4; 11.7 before 11.7.4; +1 more · source: vendor
ER
Erlang/otp · Erlang
17.0 before 27.3.4.15; 28.0 before 28.5.0.4; 29.0 before 29.0.4 · source: NVD
ER
Erlang/ssl · Erlang
5.3.4 before 11.2.12.11; 11.3 before 11.6.0.4; 11.7 before 11.7.4 · source: NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-55953
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-55953
Patch
https://cna.erlef.org/cves/CVE-2026-55953.html
Patch
https://github.com/erlang/otp/commit/064e236414614f9085cbbbd6eacf0e43c02d1b4b
Patch
https://github.com/erlang/otp/commit/0a82596d425abe43dc2e0b3d74aa1557ef74051c
Patch
https://github.com/erlang/otp/commit/e6ff938116b2872bccc478af7fefb56627285b77
Vendor Advisory
https://github.com/erlang/otp/security/advisories/GHSA-c6cw-pr89-w882
Patch
https://osv.dev/vulnerability/EEF-CVE-2026-55953
More from OTP
10.0
CVE-2025-32433
Erlang/OTP SSH Vulnerable to Pre-Authentication RCE
9.8
CVE-2026-28808
ScriptAlias CGI targets bypass directory auth in inets httpd (mod_auth vs mod_cgi path mismatch)
9.8
CVE-2022-37026
In Erlang/OTP before 23.3.4.15, 24.x before 24.3.4.2, and 25.x before 25.0.2, there is a Client Authentication Bypass in certain client-certification situations for SSL, TLS, and…
9.8
CVE-2016-10253
An issue was discovered in Erlang/OTP 18.x
9.4
CVE-2026-23941
Inconsistent Interpretation of HTTP Requests ('HTTP Request Smuggling') vulnerability in Erlang OTP (inets httpd module) allows HTTP Request Smuggling
