Description
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, OTP 27.3.4.12, OTP 28.5.0.1, and OTP 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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Erlang | OTP | 19.3, 1.4 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | erlang | 1:27.3.4.12+dfsg-1 | — |
| Debian 13 | erlang | 1:27.3.4.1+dfsg-1+deb13u3 | — |
| Debian 12 | erlang | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.04 LTS | erlang | 1:27.3.4.6+dfsg-1ubuntu0.2 | USN-8901-1 |
| Ubuntu 25.10 | erlang | No fix yet | — |
| Ubuntu 24.04 LTS | erlang | 1:25.3.2.8+dfsg-1ubuntu4.8 | USN-8901-1 |
| Ubuntu 22.04 LTS | erlang | 1:24.2.1+dfsg-1ubuntu0.8 | USN-8901-1 |
Show 4 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Pro 20.04 LTS | erlang | 1:22.2.7+dfsg-1ubuntu0.5+esm3 | USN-8901-1 |
| Ubuntu Pro 18.04 LTS | erlang | 1:20.2.2+dfsg-1ubuntu2+esm4 | USN-8901-1 |
| Ubuntu Pro 16.04 LTS | erlang | 1:18.3-dfsg-1ubuntu3.1+esm4 | USN-8901-1 |
| Ubuntu Pro 14.04 LTS | erlang | 1:16.b.3-dfsg-1ubuntu2.2+esm3 | USN-8901-1 |
Red Hat
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Red Hat OpenStack 18 | erlang +19 | 26.2.5.21-2.el9ost | RHSA-2026:39809 |
| Red Hat OpenStack 16 | collectd-sensubility | 0.2.1-1.1.el8ost | RHSA-2026:54757 |
| Red Hat OpenStack 16 | erlang +20 | 23.3.4.18-2.el8ost | RHSA-2026:54757 |
| Red Hat OpenStack 16 | etcd | 3.3.23-22.el8ost | RHSA-2026:54757 |
| Red Hat OpenStack 16 | python-oslo-messaging +1 | 10.2.4-2.20260710155333.82281a0.el8ost | RHSA-2026:54757 |
| Red Hat OpenStack 16 | python-pyasn1 +2 | 0.4.6-4.el8ost | RHSA-2026:54757 |
| Red Hat OpenStack 16 | python3-glance +1 | 1:19.0.5-2.20260512165254.eb6ad61.el8ost | RHSA-2026:54757 |
| Red Hat OpenStack 16 | python3-keystone +1 | 1:16.0.3-2.20260616134936.9d699a7.el8ost | RHSA-2026:54757 |
| Red Hat OpenStack 16 | python3-nova +11 | 1:20.6.2-2.20260317135026.8a24acd.el8ost | RHSA-2026:54757 |
| Red Hat Hardened Images 1 | erlang27 +38 | 27.3.4.17-1.hum1 | RHSA-2026:63160 |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP7 | erlang | 23.3.4.19-150300.3.39.1 | SUSE-SU-2026:3645-1 |
| SLES 15 SP7 | erlang26 | 26.2.1-150300.7.28.1 | SUSE-SU-2026:3579-1 |
| SLES 15 SP6 | erlang | 23.3.4.19-150300.3.39.1 | SUSE-SU-2026:3645-1 |
| SLES 15 SP6 | erlang26 | 26.2.1-150300.7.28.1 | SUSE-SU-2026:3579-1 |
| SLES 15 SP5 | erlang | 23.3.4.19-150300.3.39.1 | SUSE-SU-2026:3645-1 |
| SLES 15 SP4 | erlang | 23.3.4.19-150300.3.39.1 | SUSE-SU-2026:3645-1 |
Show 7 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES for SAP 16.0 | erlang | 27.1.3-160000.5.1 | SUSE-SU-2026:22082-1 |
| SLES for SAP 15 SP6 | erlang | 23.3.4.19-150300.3.39.1 | SUSE-SU-2026:3645-1 |
| SLES for SAP 15 SP6 | erlang26 | 26.2.1-150300.7.28.1 | SUSE-SU-2026:3579-1 |
| SLES for SAP 15 SP5 | erlang | 23.3.4.19-150300.3.39.1 | SUSE-SU-2026:3645-1 |
| SLES for SAP 15 SP4 | erlang | 23.3.4.19-150300.3.39.1 | SUSE-SU-2026:3645-1 |
| SLES 16.0 | erlang | 27.1.3-160000.5.1 | SUSE-SU-2026:22082-1 |
| SLE HPC 15 SP5 | erlang | 23.3.4.19-150300.3.39.1 | SUSE-SU-2026:3645-1 |
| SLE HPC 15 SP4 | erlang | 23.3.4.19-150300.3.39.1 | SUSE-SU-2026:3645-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | erlang | 28.5.0.4-1.1 | openSUSE-SU-2026:11559-1 |
| openSUSE Tumbleweed | erlang27 | 27.1.3-2.1 | openSUSE-SU-2026:10947-1 |
| openSUSE Leap 16.0 | erlang | 27.1.3-160000.5.1 | openSUSE-SU-2026:20907-1 |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 3 | erlang | 26.2.5.21-1 | — |
Advisories 11
- WID-SEC-2026-1719 Erlang/OTP: Mehrere Schwachstellen ermöglichen Umgehen von Sicherheitsvorkehrungen BSI CERT-Bund (WID) · Oct 27, 2026
- RHSA-2026:63160 Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update Red Hat Security Advisories (RHSA) · Oct 20, 2026
- RHSA-2026:54757 Red Hat Security Advisory: Red Hat OpenStack Platform 16.2 security advisory Red Hat Security Advisories (RHSA) · Oct 20, 2026
- USN-8901-1 erlang vulnerabilities Ubuntu Security Notices (USN) · Oct 8, 2026
- RHSA-2026:39809 Red Hat Security Advisory: Red Hat OpenStack Services on OpenShift 18.0 (erlang) security update Red Hat Security Advisories (RHSA) · Sep 22, 2026
- openSUSE-SU-2026:11559-1 erlang-28.5.0.4-1.1 on GA media SUSE / openSUSE Security Updates · Aug 21, 2026
- SUSE-SU-2026:3645-1 Security update for erlang SUSE / openSUSE Security Updates · Aug 21, 2026
- SUSE-SU-2026:3579-1 Security update for erlang26 SUSE / openSUSE Security Updates · Aug 12, 2026
- SUSE-SU-2026:22082-1 Security update for erlang SUSE / openSUSE Security Updates · Jun 16, 2026
- openSUSE-SU-2026:20907-1 Security update for erlang SUSE / openSUSE Security Updates · Jun 9, 2026
- openSUSE-SU-2026:10947-1 erlang27-27.1.3-2.1 on GA media SUSE / openSUSE Security Updates · Jun 4, 2026
References
- Name Constraints and Subject CommonName Fallback in TLS hostname Verification vendor-advisory related
- EEF CNA record for CVE-2026-42790 related
- OSV record EEF-CVE-2026-42790 related
- Erlang/OTP version ordering
- Introducing commit b0c245e in erlang/otp related
- Fix commit 0769050 in erlang/otp patch
- Fix commit fb67c6d in erlang/otp patch
- Fix commit 21abed6 in erlang/otp patch