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.
Etkilenen 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
—
Noroxi analizi
Bu kayıt için henüz Noroxi analizi yok
385 binden fazla 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 isteyinDeğ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ı.