nameConstraints DNS bypass via subject CommonName fallback in public_key hostname verification
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 29.0.1, OTP 28.5.0.1, OTP 27.3.4.12 and OTP 26.2.5.21, corresponding to public_key from 1.4 before 1.21.1, 1.20.3.1, 1.17.1.3 and 1.15.1.7.
- Yayın
- 27 May 2026
- Güncelleme
- 18 Eyl 2026
- EPSS
- %0,5 · 38. yüzdelik
- CWE
- CWE-295
Takip etmek için giriş yap · Takip ettiğin kayıt KEV’e girer, istismarı çıkar ya da güncellenirse bildirim alırsın.
Rapor araçları
Aksiyon skoru
30
İzleyin
Şimdilik düşük öncelik.
- CVSS
- 30 / 40 · 7.6 / 10
- CISA KEV
- 0 / 30 · Listede değil
- EPSS
- 0 / 30 · %0,5
CISA SSVC kararı
- Sömürü
- yok
- Otomatikleştirilebilir
- hayır
- Teknik etki
- tam
Vulnrichment: CISA'nın karar ağacı girdileri.
CNA ile NVD puanı
- NVD
- —
- CNA · EEF
- 7,6
- NVD henüz kendi puanını vermedi; gösterilen puan CNA’nın.
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
Kaydı açan otoritenin puanı ile NVD’nin bağımsız puanı. İki puan arasındaki fark ciddiyetin tartışmalı olduğunu gösterir.
Noroxi analizi
Bu kayıt için henüz Noroxi analizi yok
Veritabanındaki yüz binlerce zafiyetin tamamına elle analiz yazmıyoruz; bu dürüst olmazdı. Öne çıkan ve sahada etkisi olan zafiyetler için mekanizma, tespit ve kapatma adımlarını ekibimiz yazıyor.
Bu ürünü kullanıyoruz, yardım isteyinEtkilenen sistemler
| Üretici | Ürün | CPE |
|---|---|---|
| erlang | erlang\/otp | cpe:2.3:a:erlang:erlang\/otp |
Etkilenen sürümler
NVD sürüm aralıkları (katalogdaki ürünler için). Stack’ine sürümle eklersen eşleşme bunlarla yapılır.
- erlang erlang/otp19.3 ve sonrası · 26.2.5.21 öncesi
- erlang erlang/otp27.0 ve sonrası · 27.3.4.12 öncesi
- erlang erlang/otp28.0 ve sonrası · 28.5.0.1 öncesi
- erlang erlang/otp29.0 ve sonrası · 29.0.1 öncesi
Üreticinin bildirdiği sürümler
Kaydı açan otorite (EEF) tarafından bildirilen etkilenen sürüm aralıkları. NVD'nin CPE analizinden bağımsızdır ve genellikle ondan önce gelir.
Erlang OTP
- 1.4 ve sonrasıetkilenir · otpdüzeltildi: 1.15.1.7, 1.17.1.3, 1.20.3.1, 1.21.1
- 19.3 ve sonrasıetkilenir · otpdüzeltildi: 26.2.5.21, 27.3.4.12, 28.5.0.1, 29.0.1
- b0c245e8132bb13171e277b1af59c0cec00c9459 ve sonrasıetkilenir · gitdüzeltildi: 0769050c69d73762672b0db1347b6993a5b31759, fb67c6d1836f51105a96d8b769e71e4215a79457, 21abed64eb2026b5f82f432709e4e932f9be389a
Paket düzeyi etkilenme
OSV ve GitHub Advisory verisi: ekosistem, paket ve aralık. SBOM eşleşmesi bu tabloyu kullanır.
| Ekosistem | Paket | Etkilenen aralık | Düzeltme |
|---|---|---|---|
| Debian:12 | erlang | tüm sürümler | — |
| Debian:13 | erlang | 1:27.3.4.1+dfsg-1+deb13u3 öncesi | 1:27.3.4.1+dfsg-1+deb13u3 |
| Debian:14 | erlang | 1:27.3.4.12+dfsg-1 öncesi | 1:27.3.4.12+dfsg-1 |
| openSUSE:Leap 16.0 | erlang | 27.1.3-160000.5.1 öncesi | 27.1.3-160000.5.1 |
| openSUSE:Tumbleweed | erlang | 28.5.0.4-1.1 öncesi | 28.5.0.4-1.1 |
| openSUSE:Tumbleweed | erlang27 | 27.1.3-2.1 öncesi | 27.1.3-2.1 |
| Red Hat:hummingbird:1 | erlang27 | 0:27.3.4.17-1.hum1 öncesi | 0:27.3.4.17-1.hum1 |
| Red Hat:hummingbird:1 | erlang27-asn1 | 0:27.3.4.17-1.hum1 öncesi | 0:27.3.4.17-1.hum1 |
| Red Hat:hummingbird:1 | erlang27-common_test | 0:27.3.4.17-1.hum1 öncesi | 0:27.3.4.17-1.hum1 |
| Red Hat:hummingbird:1 | erlang27-compiler | 0:27.3.4.17-1.hum1 öncesi | 0:27.3.4.17-1.hum1 |
| Red Hat:hummingbird:1 | erlang27-crypto | 0:27.3.4.17-1.hum1 öncesi | 0:27.3.4.17-1.hum1 |
| Red Hat:hummingbird:1 | erlang27-debugger | 0:27.3.4.17-1.hum1 öncesi | 0:27.3.4.17-1.hum1 |
| Red Hat:hummingbird:1 | erlang27-dialyzer | 0:27.3.4.17-1.hum1 öncesi | 0:27.3.4.17-1.hum1 |
| Red Hat:hummingbird:1 | erlang27-diameter | 0:27.3.4.17-1.hum1 öncesi | 0:27.3.4.17-1.hum1 |
| Red Hat:hummingbird:1 | erlang27-edoc | 0:27.3.4.17-1.hum1 öncesi | 0:27.3.4.17-1.hum1 |
| Red Hat:hummingbird:1 | erlang27-eldap | 0:27.3.4.17-1.hum1 öncesi | 0:27.3.4.17-1.hum1 |
| Red Hat:hummingbird:1 | erlang27-erl_interface | 0:27.3.4.17-1.hum1 öncesi | 0:27.3.4.17-1.hum1 |
| Red Hat:hummingbird:1 | erlang27-erts | 0:27.3.4.17-1.hum1 öncesi | 0:27.3.4.17-1.hum1 |
| Red Hat:hummingbird:1 | erlang27-et | 0:27.3.4.17-1.hum1 öncesi | 0:27.3.4.17-1.hum1 |
| Red Hat:hummingbird:1 | erlang27-eunit | 0:27.3.4.17-1.hum1 öncesi | 0:27.3.4.17-1.hum1 |
| Red Hat:hummingbird:1 | erlang27-examples | 0:27.3.4.17-1.hum1 öncesi | 0:27.3.4.17-1.hum1 |
| Red Hat:hummingbird:1 | erlang27-ftp | 0:27.3.4.17-1.hum1 öncesi | 0:27.3.4.17-1.hum1 |
| Red Hat:hummingbird:1 | erlang27-gdb-tools | 0:27.3.4.17-1.hum1 öncesi | 0:27.3.4.17-1.hum1 |
| Red Hat:hummingbird:1 | erlang27-inets | 0:27.3.4.17-1.hum1 öncesi | 0:27.3.4.17-1.hum1 |
+54
Aynı üründe
erlang: tüm kayıtlarAynı birincil ürünün en yüksek skorlu diğer kayıtları.
- CVE-2025-32433Erlang/OTP SSH Vulnerable to Pre-Authentication RCEKEV100Hemen
- CVE-2022-37026In 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-cert39İzleyin
- CVE-2016-10253An issue was discovered in Erlang/OTP 18.x.39İzleyin
- CVE-2026-55953TLS 1.2 and DTLS client accepts unoffered anonymous cipher suite, bypassing server authentication36İzleyin
- CVE-2026-49759Stack buffer overflow in SCTP error cause parsing in inet_drv allows remote VM crash35İzleyin
- CVE-2026-59251Denial of service via exponential certificate policy tree growth in path validation34İzleyin
Düzeltme
Hangi sürüme geçmeli
Üretici, paket deposu ve Microsoft kayıtlarından derlenen düzeltme sürümleri. Yükseltmeden önce üreticinin notunu doğrulayın.
| Ürün / paket | Düzeltilmiş sürüm | Kaynak |
|---|---|---|
| Erlang OTP | 0769050c69d73762672b0db1347b6993a5b31759 | Üretici (CNA) |
| Erlang OTP | 1.15.1.7 | Üretici (CNA) |
| Erlang OTP | 1.17.1.3 | Üretici (CNA) |
| Erlang OTP | 1.20.3.1 | Üretici (CNA) |
| Erlang OTP | 1.21.1 | Üretici (CNA) |
| Erlang OTP | 21abed64eb2026b5f82f432709e4e932f9be389a | Üretici (CNA) |
| Erlang OTP | 26.2.5.21 | Üretici (CNA) |
| Erlang OTP | 27.3.4.12 | Üretici (CNA) |
| Erlang OTP | 28.5.0.1 | Üretici (CNA) |
| Erlang OTP | 29.0.1 | Üretici (CNA) |
| Erlang OTP | fb67c6d1836f51105a96d8b769e71e4215a79457 | Üretici (CNA) |
| debian:erlang | 1:27.3.4.1+dfsg-1+deb13u3 · Debian:13 | Paket deposu (OSV) |
| opensuse:erlang | 28.5.0.4-1.1 · openSUSE:Tumbleweed | Paket deposu (OSV) |
| opensuse:erlang27 | 27.1.3-2.1 · openSUSE:Tumbleweed | Paket deposu (OSV) |
| red hat:erlang | 0:26.2.5.21-2.el9ost · Red Hat:openstack:18.0::el9 | Paket deposu (OSV) |
| red hat:erlang-asn1 | 0:26.2.5.21-2.el9ost · Red Hat:openstack:18.0::el9 | Paket deposu (OSV) |
| red hat:erlang-asn1-debuginfo | 0:26.2.5.21-2.el9ost · Red Hat:openstack:18.0::el9 | Paket deposu (OSV) |
| red hat:erlang-compiler | 0:26.2.5.21-2.el9ost · Red Hat:openstack:18.0::el9 | Paket deposu (OSV) |
| red hat:erlang-crypto | 0:26.2.5.21-2.el9ost · Red Hat:openstack:18.0::el9 | Paket deposu (OSV) |
| red hat:erlang-crypto-debuginfo | 0:26.2.5.21-2.el9ost · Red Hat:openstack:18.0::el9 | Paket deposu (OSV) |
| red hat:erlang-debuginfo | 0:26.2.5.21-2.el9ost · Red Hat:openstack:18.0::el9 | Paket deposu (OSV) |
| red hat:erlang-debugsource | 0:26.2.5.21-2.el9ost · Red Hat:openstack:18.0::el9 | Paket deposu (OSV) |
| red hat:erlang-eldap | 0:26.2.5.21-2.el9ost · Red Hat:openstack:18.0::el9 | Paket deposu (OSV) |
| red hat:erlang-erl_interface-debuginfo | 0:26.2.5.21-2.el9ost · Red Hat:openstack:18.0::el9 | Paket deposu (OSV) |
| red hat:erlang-erts | 0:26.2.5.21-2.el9ost · Red Hat:openstack:18.0::el9 | Paket deposu (OSV) |
| red hat:erlang-erts-debuginfo | 0:26.2.5.21-2.el9ost · Red Hat:openstack:18.0::el9 | Paket deposu (OSV) |
| suse:erlang | 27.1.3-160000.5.1 · SUSE:Linux Enterprise Server 16.0 | Paket deposu (OSV) |
| suse:erlang26 | 26.2.1-150300.7.28.1 · SUSE:Linux Enterprise Module for Server Applications 15 SP7 | Paket deposu (OSV) |
İstismar durumu
Bilinen kamuya açık istismar yok
Şu an kamuya açık bir istismar görülmedi. Bu, güvende olduğunuz anlamına gelmez; yalnızca eşiğin biraz daha yüksek olduğunu gösterir.
Araştırma bağlamı
Pentester ve araştırmacı için: saldırı profili, puan anlaşmazlığı, zaman çizelgesi, yama commit’leri, kredi, varyant ve zincir adayları, bug bounty kapsamı. Hepsi mevcut veriden türetilir; istismar kodu içermez.
Zaman çizelgesi
Yayından bugüne: kavram kanıtı, Metasploit modülü, CISA KEV ve düzeltme kaydı. Tarihler kaynakların bildirdiği tarihlerdir.
Yayın dışında tarihli olay yok.
FIRST EPSS günlük puanı; yalnızca 0,01 ve üstü değişimler kaydedilir (adım grafiği).
Yama ve commit bağlantıları
Referanslardaki commit, PR ve diff adresleri. Patch-diff ve varyant avı için başlangıç noktası; istismar değil, düzeltmedir.
Kredi
Tüm araştırmacılarCNA kaydında adı geçen bulan, bildiren ve analistler. Ada tıkla, aynı araştırmacının diğer kayıtlarını gör.
- John Downeybulan
- Ingela Anderton Andindüzeltme geliştirici
- Dan Gudmundssondüzeltme inceleyici
- Jakub Witczakdüzeltme inceleyici
Varyant adayları
Aynı üründe aynı zafiyet sınıfı, 18 ay içinde. Yama kök nedeni kapatmadıysa kardeş hata burada olur.
- CVE-2026-3214450 gün araylaOCSP designated-responder authorization bypass via missing signature verification30İzleyin
- CVE-2026-427910 gün araylaOCSP responder certificate validity period not checked in public_key25İzleyin
Zincir adayları
Aynı üründe kimlik doğrulama atlatma ile yetki isteyen bir açık kısa aralıkla yayımlanmış: birlikte kimlik doğrulamasız bir yola dönüşebilir.
—
Bug bounty kapsamı
Bilinen herkese açık program yok.
Kaynak: bounty-targets-data (HackerOne, Bugcrowd, Intigriti, YesWeHack herkese açık listeleri).
Teknik detay
Saldırı koşulları
- İnternetten erişebilen herkes tetikleyebilir.
- Hesap ya da parola gerekmez.
- Zamanlama ya da yapılandırma gibi özel koşullar gerekir.
Başarılı olursa
- Gizlilik
- Bütünlük
- Erişilebilirlik
- Saldırı vektörü
- Ağ
- Karmaşıklık
- Yüksek
- Gereken yetki
- Yok
- Kullanıcı etkileşimi
- P
- Kapsam
- X
Zayıflık sınıfı (CWE)
CWE-295 · Improper Certificate ValidationCVSS vektörü
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
nvd-secondary
Kök neden
Sertifika doğrulama hatası, bağlantıyı kesmek yerine sessizce yutuluyor. Çoğu zaman test ortamı için eklenen kod üretime taşınır.
Hatanın kod karşılığı
CWE-295 sınıfının tamamıBu zafiyet sınıfının temsili örneği. Üreticinin kaynak kodu değildir; hatalı kalıbı ve düzeltmesini gösterir.
Hatalı
override fun checkServerTrusted(chain: Array<X509Certificate>, type: String) { // Test ortamı için boş bırakıldı}Düzeltilmiş
val client = OkHttpClient.Builder() .certificatePinner( CertificatePinner.Builder() .add("api.sirius.example", "sha256/…") .build() ).build()Saldırı bağlamı
Bu zafiyet sınıfının (CWE) MITRE CAPEC saldırı desenleri ve ATT&CK teknikleri. Tespit kuralı ve tehdit avı için başlangıç noktası.
Saldırı desenleri (CAPEC)
ATT&CK teknikleri
—
Değişiklik günlüğü
- Düzeltme✗ → ✓
Takip ettiğiniz kayıtlarda bu değişiklikler bildirim olarak da gelir. →
Referanslar
- cna.erlef.org/cves/CVE-2026-42790.html
- github.com/erlang/otp/commit/0769050c69d73762672b0db1347b6993a5b31759
- github.com/erlang/otp/commit/21abed64eb2026b5f82f432709e4e932f9be389a
- github.com/erlang/otp/commit/fb67c6d1836f51105a96d8b769e71e4215a79457
- github.com/erlang/otp/security/advisories/GHSA-22cw-4ph4-6447
- osv.dev/vulnerability/EEF-CVE-2026-42790
- www.erlang.org/doc/system/versions.html#order-of-versions
- access.redhat.com/errata/RHSA-2026:39809
- access.redhat.com/errata/RHSA-2026:54757
- access.redhat.com/security/cve/CVE-2026-42790
- bugzilla.redhat.com/show_bug.cgi?id=2482286
- security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-42790.json
Üretici bildirimleri ve resmî kayıtlar. İstismar/PoC bağlantıları bilinçli olarak dışarıda bırakıldı.