Zafiyet.live Keşfet. Değerlendir. Düzelt. Doğrula.
  • Yama var
  • Son 7 gün
  • CWE-295

CVE-2026-115693

hackney kütüphanesinde özel CA sabitlemesinin atlanması (sertifika doğrulama hatası)

benoitc hackney

Kritik 9,1 CVSS 4.0
Yayımlandı
Güncellendi
26 Eki 2026
Açık yaşı
2 gün
Kaydı açan
EEF

Yönetici özeti

Bu açık, uygulamaların güvenli bağlantılarda yalnızca kendi seçtikleri özel güven kaynağına güvenmesi gereken bir güvenlik önlemini devre dışı bırakır. Saldırgan ağ trafiğini ele geçirebilirse hassas veriler sızabilir veya değiştirilebilir. Etkilenen sistemlerin hızla güncellenmesi önerilir.

ÖzetTürkçe

hackney kütüphanesinin hackney_ssl modülünde, ssl_options içinde cacerts veya cacertfile ile özel bir sertifika otoritesi (CA) sabitlendiğinde, kütüphanenin eklediği kısmi zincir geri çağırımı (partial_chain) korunmaktadır. Bu nedenle bağlantı yalnızca sabitlenen CA'ya güvenmek yerine, herkese açık bir kök sertifikayla biten herhangi bir zinciri kabul edebilmektedir. Etkilenen sürümler 1.24.0 ile 4.9.0 öncesidir.

Saldırgan ne yapabilir?

Yol üzerindeki (on-path) bir saldırgan, sabitlenmiş sunucuyu taklit edebilir ve istemcinin bağlantısını ele geçirerek trafiği okuyabilir veya değiştirebilir. Saldırganın, sabitlenen ana makine adı için herkese açık olarak güvenilen bir sertifikaya sahip olması gerekir.

Kaynaktaki açıklama (İngilizce)

Improper Certificate Validation vulnerability in hackney_ssl in benoitc hackney allows an on-path attacker to impersonate a server pinned to a private certificate authority via a certificate chain that ends in a publicly trusted root. hackney adds {partial_chain, fun hackney_ssl:partial_chain/1} to every verify_peer configuration. The callback returns any certificate in the peer chain whose public key matches a root in the bundled certifi store as the trust anchor, and OTP honours that callback over the configured cacerts. hackney_ssl:merge_ssl_opts/3 kept the callback when the caller replaced the trust store with cacerts or cacertfile in ssl_options, so a connection pinned to a private CA still accepted any chain that carried a publicly trusted root.

The hostname check still applies, so the attacker needs a publicly trusted certificate for the pinned hostname.

This issue affects hackney: from 1.24.0 before 4.9.0.

Üreticinin geçici önlemi (İngilizce)

Pass your own {partial_chain, Fun} in ssl_options alongside cacerts or cacertfile. A caller-supplied partial_chain replaces hackney's in the merge, and a callback that returns unknown_ca makes OTP validate against the configured cacerts only.

Ne yapmalı?

  1. hackney kütüphanesini 4.9.0 veya daha yeni bir sürüme yükseltin. Üretici
  2. Yükseltme yapamıyorsanız, ssl_options içinde cacerts veya cacertfile ile birlikte kendi partial_chain işlevinizi açıkça belirtin; kendi işleviniz kütüphanenin varsayılanını değiştirir ve bilinmeyen CA dönerse OTP yalnızca yapılandırılmış cacerts ile doğrulama yapar. Üretici
  3. Uygulamanızın kullandığı tüm hackney bağlantılarını gözden geçirin ve özel CA ile sabitlenmiş olanları öncelikli olarak güncelleyin. Genel öneri

Ek önlemler

  • Sertifika sabitlemesi kullanan servislerde beklenmedik sertifika zinciri değişikliklerini izleyin. Genel öneri
  • Ağ trafiğinde yol üzerinde (MITM) saldırı belirtilerini düzenli olarak denetleyin. Genel öneri

Bu açık kişisel verilerin sızmasına yol açabilir. Sistemlerinizde kullanıldığından şüpheleniyorsanız KVKK'daki ihlal bildirimi yükümlülüğünüzü (Kurul'a 72 saat içinde bildirim) hukuk danışmanınızla birlikte değerlendirin. Bu not hukuki tavsiye değildir.

Etkilenen sürümler1 yazılım

YazılımEtkilenenDüzeltildiği sürüm
benoitc hackney ≥ 1.24.0, < 4.9.0 4.9.0

Kaynaklar8 kaynak

Kayıt geçmişi

  1. Yayımlandı

İlgili açıklar

Türkçe metin, resmi kayıtlardaki bilgilerle yapay zekâ yardımıyla yazıldı ve yayından önce otomatik kontrollerden geçti. Bir değişikliği uygulamadan önce üreticinin duyurusuna mutlaka bakın.