High severity · published Jul 27, 2026
CVE-2026-58227
TLS/DTLS denial of service via unbounded recursion on cross-signed peer certificate chain
7.5
CVSS
0.4%
EPSS
No
On KEV
Description
The Erlang/OTP ssl application does not detect cycles when reconstructing an incomplete peer certificate chain during a TLS or DTLS handshake. In ssl_certificate:handle_incomplete_chain/5, the received chain is passed to ssl_certificate:build_certificate_chain/5, which walks issuer relationships via ssl_certificate:do_certificate_chain/7 with no cycle detection and no depth limit. When the peer supplies two mutually cross-signed certificates in unordered form (A issues B, B issues A), the issuer lookup alternates between the two certificates and the pair of functions recurses indefinitely, growing the call stack and chain accumulator without bound.
An unauthenticated remote attacker can send a crafted certificate chain in a TLS or DTLS Certificate handshake message to exhaust available memory and crash the BEAM node. Only a TCP connection and a partial handshake are required; no authentication or completed handshake is needed, and both TLS/DTLS servers and clients are affected when processing peer certificate messages.
This issue affects OTP from OTP 23.2 before OTP 29.0.4, OTP 28.5.0.4 and OTP 27.3.4.15, corresponding to ssl from 10.2 before 11.7.4, 11.6.0.4 and 11.2.12.11.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
None
Integrity
None
Availability
High
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.4% · higher than 33% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
OT
OTP · Erlang
10.2; 23.2; addc42df113f8f15fc20e9dff45490b3ce0d3d6b · source: vendor
ER
Erlang/otp · Erlang
23.2 before 27.3.4.15; 28.0 before 28.5.0.4; 29.0 before 29.0.4 · source: NVD
ER
Erlang/ssl · Erlang
10.2 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-58227
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-58227
Patch
https://cna.erlef.org/cves/CVE-2026-58227.html
Patch
https://github.com/erlang/otp/commit/0307bff2c72b685c6bd952daaac6bd661c247d62
Patch
https://github.com/erlang/otp/commit/241d43703989fec4b6bf637beaeb366d92dcc4c2
Patch
https://github.com/erlang/otp/commit/7db64720177961e04545681480d691c4be81c54d
Vendor Advisory
https://github.com/erlang/otp/security/advisories/GHSA-r5jr-mq46-vmhw
Patch
https://osv.dev/vulnerability/EEF-CVE-2026-58227
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
