Skip to main content

Erlang/OTP EUVDEUVD-2026-32558

| CVE-2026-42790 HIGH
Improper Certificate Validation (CWE-295)
2026-05-27 6b3ad84c-e1a6-4bf7-a703-f496b71e49db
7.6
CVSS 4.0 · Vendor: 6b3ad84c-e1a6-4bf7-a703-f496b71e49db
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain DNS-constrained trusted subordinate CA
  2. Delivery
    Issue SAN-less leaf with CN=target host
  3. Exploit
    Victim initiates TLS via ssl:connect verify_peer
  4. Execution
    SAN-less leaf bypasses DNS nameConstraints
  5. Persist
    CN fallback matches reference hostname
  6. Impact
    Impersonate 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

otp 19.3 <*
otp b0c245e8132bb13171e277b1af59c0cec00c9459 <*
otp 1.4 <*

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

Vendor (6b3ad84c-e1a6-4bf7-a703-f496b71e49db) PRIMARY 7.6 HIGH
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
SUSE 7.4 HIGH
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
Red Hat 7.4 HIGH

Primary rating from Vendor (6b3ad84c-e1a6-4bf7-a703-f496b71e49db).

CVSS VectorVendor: 6b3ad84c-e1a6-4bf7-a703-f496b71e49db

Attack Vector
Network
Attack Complexity
High
Attack Requirements
Present
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.0%
Top 92% exploitable
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment MSRC Vendor GitHub VulDB

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2025-32433 CRITICAL POC
10.0 Apr 16

Erlang/OTP SSH server allows unauthenticated remote code execution by exploiting a flaw in SSH protocol message handling

CVE-2017-1000385 MEDIUM POC
5.9 Dec 12

The Erlang otp TLS server answers with different TLS alerts to different error types in the RSA PKCS #1 1.5 padding. Rat

CVE-2023-48795 MEDIUM POC
5.9 Dec 18

The SSH transport protocol with certain OpenSSH extensions, found in OpenSSH before 9.6 and other products, allows remot

CVE-2014-1693 HIGH POC
7.5 Dec 08

Multiple CRLF injection vulnerabilities in the FTP module in Erlang/OTP R15B03 allow context-dependent attackers to inje

CVE-2021-29221 HIGH POC
7.0 Apr 09

A local privilege escalation vulnerability was discovered in Erlang/OTP prior to version 23.2.3. Rated high severity (CV

CVE-2016-10253 CRITICAL
9.8 Mar 18

An issue was discovered in Erlang/OTP 18.x. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitab

CVE-2022-37026 CRITICAL
9.8 Sep 21

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

CVE-2026-59251 HIGH
8.7 Jul 27

Denial of service in Erlang/OTP's TLS handshake allows remote unauthenticated attackers to crash the BEAM VM by sending

CVE-2026-54890 HIGH
8.2 Jul 27

Erlang/OTP nodes that decode External Term Format (ETF) from untrusted sources can be aborted outright by a single malfo

CVE-2020-25623 HIGH
7.5 Oct 02

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

CVE-2026-42789 HIGH
7.0 May 27

Certificate chain forgery in Erlang/OTP's public_key application (pubkey_cert module) lets a non-CA end-entity certifica

CVE-2026-42791 MEDIUM
6.3 May 27

OCSP responder certificate validity bypass in Erlang OTP's public_key library allows forged OCSP responses-signed with t

Vendor 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

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy