Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain DNS-constrained trusted subordinate CA
-
DeliveryIssue SAN-less leaf with CN=target host
-
ExploitVictim initiates TLS via ssl:connect verify_peer
-
ExecutionSAN-less leaf bypasses DNS nameConstraints
-
PersistCN fallback matches reference hostname
-
ImpactImpersonate server, intercept and tamper with traffic
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V12 - Secure Communication Certificate validation
|
| Exploitation Conditions | Exploitation requires that the victim run an affected OTP version's TLS client via ssl:connect with verify_peer and a trust anchor chain that includes a subordinate CA carrying DNS nameConstraints (a permitted;DNS:... subtree), and that the attacker be able to make that constrained CA issue a leaf certificate that has NO subjectAltName extension and a subject CommonName equal to the targeted out-of-scope hostname. The client must use SNI and the canonical strict https hostname matcher (pkix_verify_hostname_match_fun(https)) - the default secure configuration, which is precisely what makes the bypass notable. Limiting factors per the CVSS vector: the connection must be initiated by the victim (UI:P, passive interaction), the attacker needs network position to present the forged certificate, and the high complexity (AC:H/AT:P) reflects the hard prerequisite of controlling a trusted, name-constrained intermediate CA - without such a CA in the victim's trust path the bypass is not reachable. It does NOT require credentials on the target (PR:N). Certificates that include a SAN, or clients using a custom match_fun that ignores CN, are not affected. |
| Impact | The CVSS 4.0 vector (AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N) is internally consistent with the description and tells the real story: network reachable and unauthenticated (PR:N) with high confidentiality and integrity impact (a successful identity bypass enables full MITM), but gated by high attack complexity (AC:H), present attack requirements (AT:P), and passive user interaction (UI:P). Those gates matter - the attacker must already control a subordinate CA that the victim's trust store accepts AND that carries DNS nameConstraints, which is an uncommon precondition (typical of constrained enterprise/partner PKI or a mis-scoped delegated CA), and the victim must initiate the TLS connection. No EPSS score was provided in the intelligence, so exploitation probability cannot be quantified here; there is no CISA KEV listing and no POC referenced, so this is not evidence of active or widespread exploitation. Net: a genuine, high-impact certificate-validation flaw worth prioritized patching for anyone running TLS clients on affected OTP versions, but real-world exploitation is constrained to environments where an adversary can obtain a trusted, name-constrained intermediate rather than being mass-exploitable. The Authentication Bypass tag reflects the impact class; treat the 7.6 as 'fix promptly' rather than 'emergency in-the-wild' absent EPSS/KEV signals. |
| Exploit ScenarioDerived | An attacker who controls or compromises a subordinate CA that the target's OTP TLS client trusts - but whose certificate carries DNS nameConstraints limiting it to permitted;DNS:allowed.example.com - issues a leaf certificate with no subjectAltName and CN=victim.example.com. Because the SAN-less leaf never triggers the DNS nameConstraints check, path validation succeeds, and the client's strict https hostname matcher then accepts the certificate via its CommonName fallback. The attacker, positioned on the network path, presents this certificate when the victim client connects to victim.example.com and transparently intercepts or alters the TLS session; no public exploit code has been identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – May 27, 2026
TLS server impersonation in Erlang/OTP's public_key library lets a name-constrained subordinate CA forge a trusted identity for hostnames outside its permitted DNS subtree. By chaining a nameConstraints enforcement gap with a legacy CommonName fallback in pkix_verify_hostname/3, an attacker holding a DNS-restricted intermediate (e.g. permitted;DNS:allowed.example.com) can issue a SAN-less leaf whose CN is an out-of-scope host (e.g. victim.example.com) and have a stock ssl:connect client with verify_peer accept it. It affects OTP 19.3 through the fixed releases (public_key 1.4 onward) and is rated CVSS 4.0 7.6; there is no public exploit identified at time of analysis and it is not on CISA KEV.
RemediationAI
Vendor-released patch: upgrade to OTP 26.2.5.21, 27.3.4.12, 28.5.0.1, or 29.0.1 (whichever matches your major line), equivalently public_key 1.15.1.7, 1.17.1.3, 1.20.3.1, or 1.21.1; the fixes are commits 0769050c69d73762672b0db1347b6993a5b31759, 21abed64eb2026b5f82f432709e4e932f9be389a, and fb67c6d1836f51105a96d8b769e71e4215a79457, documented in GHSA-22cw-4ph4-6447 and https://cna.erlef.org/cves/CVE-2026-42790.html. If you cannot upgrade immediately, the practical compensating control is to stop relying on the built-in hostname check's CN behavior: supply a custom {match_fun, ...} (and/or verify_fun) to ssl:connect that rejects any presented identity derived from the subject CommonName and requires a SAN dNSName match, accepting that this can break connections to legacy peers that still present CN-only certificates. Additionally, audit and tighten your trust store - remove or avoid trusting DNS-name-constrained subordinate CAs that should not be able to vouch for arbitrary hosts, since the attack is only reachable when such a constrained intermediate is trusted; the trade-off is operational overhead in PKI inventory and possible loss of delegated issuance. Pin expected leaf certificates/keys for high-value endpoints where feasible.
Affected VersionsENISA
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability lives in Erlang/OTP's public_key application, the X.509 path-validation and hostname-verification engine used by OTP's ssl/TLS stack (CWE-295, Improper Certificate Validation). Two independent weaknesses combine. First, pubkey_cert:validate_names/6 in lib/public_key/src/pubkey_cert.erl enforces DNS nameConstraints only against subjectAltName DNS entries; per RFC 5280 a permitted DNS subtree constrains only certificates that actually contain a DNS-typed name, so a leaf with no SAN trivially passes any permitted;DNS:... restriction regardless of its subject. Second, public_key:pkix_verify_hostname/3 in lib/public_key/src/public_key.erl implements an RFC 6125 CN fallback: when no SAN is present it extracts id-at-commonName attributes from the subject rdnSequence as presented identifiers, and even the strict https matcher (pkix_verify_hostname_match_fun(https)) does not suppress this. The upstream fix (commit 0769050c) removes the CN fallback branch and the verify_hostname_match_default0 CN-matching clauses entirely, so SAN-less certificates can no longer match a reference hostname.
Know when Erlang Otp gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
Primary rating from Vendor (6b3ad84c-e1a6-4bf7-a703-f496b71e49db).
CVSS VectorVendor: 6b3ad84c-e1a6-4bf7-a703-f496b71e49db
DescriptionCVE.org
Improper Certificate Validation vulnerability in Erlang OTP public_key (pubkey_cert and public_key modules) allows a DNS nameConstraints bypass via subject CommonName fallback in TLS hostname verification.
Two flaws combine to allow a subordinate CA whose DNS nameConstraints are restricted (e.g. permitted;DNS:allowed.example.com) to issue a leaf certificate that an OTP TLS client accepts as a valid identity for an out-of-scope hostname (e.g. victim.example.com):
First, pubkey_cert:validate_names/6 in lib/public_key/src/pubkey_cert.erl only checks SAN DNS entries against nameConstraints. Per RFC 5280, a permitted DNS subtree only restricts certificates that contain a DNS-typed name. A leaf with no subjectAltName therefore trivially satisfies any permitted;DNS:... constraint regardless of its subject commonName.
Second, public_key:pkix_verify_hostname/3 in lib/public_key/src/public_key.erl falls back to the subject commonName when no subjectAltName is present, extracting id-at-commonName attributes as presented IDs and matching them against the reference hostname. The strict pkix_verify_hostname_match_fun(https) matcher does not suppress this fallback.
The result is that path validation accepts a CN-only leaf under a DNS-constrained intermediate (no SAN means the nameConstraints are not triggered), and hostname verification then accepts it via the CN fallback. The bypass is reachable from stock ssl:connect with verify_peer, a trusted CA, SNI, and the canonical strict https hostname matcher.
This issue affects OTP from OTP 19.3 before OTP 26.2.5.21, 27.3.4.12, 28.5.0.1, and 29.0.1 corresponding to public_key from 1.4 before 1.15.1.7, 1.17.1.3, 1.20.3.1, and 1.21.1.
Executive ViewAI
The Erlang/OTP public_key library contains a TLS impersonation vulnerability (CVE-2026-42790, CVSS 7.6) that allows attackers holding intermediate certificate authority credentials to forge trusted server identities and intercept encrypted communications. Organizations running Erlang-based distributed systems, messaging platforms, and telecommunications infrastructure face direct exposure. No public exploit identified at time of analysis, but the vulnerability could enable attackers to breach confidentiality and integrity of all TLS-protected communications within affected systems.
No vendor-released patch identified at time of analysis. Interim mitigations: implement certificate pinning for critical TLS connections in Erlang applications; restrict trusted certificate authorities to only necessary root certificates; deploy certificate transparency (CT) log monitoring to detect unauthorized subordinate CA issuances; segment vulnerable Erlang services behind network access controls; enforce mutual TLS (mTLS) for all inter-service communication; audit and restrict administrative access to any intermediate certificate authorities in your infrastructure.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
More in Erlang Otp
View allErlang/OTP SSH server allows unauthenticated remote code execution by exploiting a flaw in SSH protocol message handling
The Erlang otp TLS server answers with different TLS alerts to different error types in the RSA PKCS #1 1.5 padding. Rat
The SSH transport protocol with certain OpenSSH extensions, found in OpenSSH before 9.6 and other products, allows remot
Multiple CRLF injection vulnerabilities in the FTP module in Erlang/OTP R15B03 allow context-dependent attackers to inje
A local privilege escalation vulnerability was discovered in Erlang/OTP prior to version 23.2.3. Rated high severity (CV
An issue was discovered in Erlang/OTP 18.x. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitab
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
Denial of service in Erlang/OTP's TLS handshake allows remote unauthenticated attackers to crash the BEAM VM by sending
Erlang/OTP nodes that decode External Term Format (ETF) from untrusted sources can be aborted outright by a single malfo
Erlang/OTP 22.3.x before 22.3.4.6 and 23.x before 23.1 allows Directory Traversal. Rated high severity (CVSS 7.5), this
Certificate chain forgery in Erlang/OTP's public_key application (pubkey_cert module) lets a non-CA end-entity certifica
OCSP responder certificate validity bypass in Erlang OTP's public_key library allows forged OCSP responses-signed with t
Same weakness CWE-295 – Improper Certificate Validation
View allSame technique Authentication Bypass
View allVendor StatusVendor
SUSE
Severity: High| Product | Status |
|---|---|
| SUSE Linux Enterprise High Performance Computing 15 SP7 | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP7 | Fixed |
| SUSE Linux Enterprise Module for Server Applications 15 SP7 | Fixed |
| SUSE Linux Enterprise Module for Server Applications 15 SP7 | Fixed |
| SUSE Linux Enterprise Server 15 SP7 | Fixed |
| SUSE Linux Enterprise Server 15 SP7 | Fixed |
| SUSE Linux Enterprise Server 16.0 | Fixed |
| SUSE Linux Enterprise Server 16.1 | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Fixed |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Fixed |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Fixed |
| openSUSE Leap 16.0 | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP4 | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP5 | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Fixed |
| SUSE Linux Enterprise Module for Server Applications 15 SP4 | Fixed |
| SUSE Linux Enterprise Module for Server Applications 15 SP5 | Fixed |
| SUSE Linux Enterprise Module for Server Applications 15 SP6 | Fixed |
| SUSE Linux Enterprise Module for Server Applications 15 SP6 | Fixed |
| SUSE Linux Enterprise Server 15 SP4 | Fixed |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Fixed |
| SUSE Linux Enterprise Server 15 SP5 | Fixed |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Fixed |
| SUSE Linux Enterprise Server 15 SP6 | Fixed |
| SUSE Linux Enterprise Server 15 SP6 | Fixed |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Fixed |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Fixed |
| SUSE Manager Proxy 4.3 | Fixed |
| SUSE Manager Proxy LTS 4.3 | Fixed |
| SUSE Manager Retail Branch Server 4.3 | Fixed |
| SUSE Manager Retail Branch Server LTS 4.3 | Fixed |
| SUSE Manager Server 4.3 | Fixed |
| SUSE Manager Server LTS 4.3 | Fixed |
| SUSE Enterprise Storage 7 | Fixed |
| SUSE Enterprise Storage 7.1 | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP2 | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP2-ESPOS | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP2-LTSS | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP3 | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP3-ESPOS | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP6 | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP6 | Fixed |
| SUSE Linux Enterprise Module for Server Applications 15 SP2 | Fixed |
| SUSE Linux Enterprise Module for Server Applications 15 SP3 | Fixed |
| SUSE Linux Enterprise Real Time 15 SP2 | Fixed |
| SUSE Linux Enterprise Real Time 15 SP3 | Fixed |
| SUSE Linux Enterprise Real Time 15 SP4 | Fixed |
| SUSE Linux Enterprise Server 15 SP2 | Fixed |
| SUSE Linux Enterprise Server 15 SP2-BCL | Fixed |
| SUSE Linux Enterprise Server 15 SP2-LTSS | Fixed |
| SUSE Linux Enterprise Server 15 SP3 | Fixed |
| SUSE Linux Enterprise Server 15 SP3-BCL | Fixed |
| SUSE Linux Enterprise Server 15 SP3-LTSS | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP2 | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP3 | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Fixed |
| SUSE Manager Proxy 4.1 | Fixed |
| SUSE Manager Proxy 4.2 | Fixed |
| SUSE Manager Retail Branch Server 4.1 | Fixed |
| SUSE Manager Retail Branch Server 4.2 | Fixed |
| SUSE Manager Server 4.1 | Fixed |
| SUSE Manager Server 4.2 | Fixed |
| openSUSE Leap 15.3 | Fixed |
| openSUSE Leap 15.4 | Fixed |
| openSUSE Leap 15.5 | Fixed |
| openSUSE Leap 15.6 | Fixed |
| openSUSE Leap 15.6 | Fixed |
EUVD-2026-32558
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB