CVE-2026-123158 — SSHole: Konteynerin içinde unutulan SSH kapısı
OpenSSH'taki SSHole açığı CISA KEV'e girdi ve istismarı doğrulandı. Kara Şahin, riskin neden asıl olarak Alpine tabanlı imajlarda ve "geçici" açılmış SSH servislerinde yoğunlaştığını, bugün nerede iz aranacağını anlatıyor.

OpenSSH kelimesi bir açık başlığında geçtiğinde herkes önce kendi sunucu filosunu düşünür. Bu sefer bakılacak yer farklı. SSHole olarak anılan CVE-2026-123158 dağıtımların çoğunda değil, PAM kullanılmadan derlenen musl tabanlı yapılarda, yani Alpine Linux'ta ve onu temel alan konteyner imajlarında ortaya çıkıyor. CISA açığı 9 Kasım'da KEV kataloğuna ekledi ve federal kurumlara 12 Kasım'a kadar süre verdi. Kayıt, adli inceleme isteyen açıklar arasında. Bu, "güncelle ve geç" ile kapanacak bir iş olmadığı anlamına geliyor.
Ne oluyor?
İlk bildirimlere göre sorun, Linux üzerindeki OpenSSH'ın beklenmeyen bir dönüş değerini yanlış yorumlamasından kaynaklanıyor. Sonuç, parolası kapatılmış hesaplarda kimlik doğrulamanın atlatılabilmesi. İlk haberde bir bal küpü sunucusunda CVE yayımlandıktan saatler sonra root erişimi elde edildiği bildirilmişti. KEV kaydıyla istismar artık CISA tarafından da doğrulanmış durumda. Düzeltme OpenSSH 10.6p2'de; dağıtım paketlerinde farklı paket numarasıyla gelebilir.
Saldırgan ne kazanıyor?
Konteyner dünyasında SSH genellikle "bir kere hata ayıklamak için" açılır ve öyle kalır. Küçük, hafif olduğu için tercih edilen Alpine imajı, içine SSH sunucusu eklenip bir porta bağlandığında, kimsenin envanterinde görünmeyen bir giriş noktasına dönüşür. Parolası kapalı servis hesapları da tam burada devreye giriyor: yöneticinin gözünde "giriş yapılamaz" sayılan hesaplar bu açıkta hedefin kendisi. İçeri giren saldırgan konteynerin taşıdığı ortam değişkenlerine, bağlı secret'lara ve aynı ağdaki iç servislere ulaşabilir. Tek bir unutulmuş imaj, bütün kümeye açılan bir koridor olabilir.
Avlanma notları
İlk iş sürümü görmek. Şüphelendiğiniz sistemde ya da imajda salt okunur iki komut yeterli:
ssh -V
cat /etc/os-releaseMusl tabanlı bir sistemde 10.6p2 öncesi bir sürüm ve erişilebilir bir SSH portu görüyorsanız, o sistem önceliklidir. Kayıtlarda şunlara sözle bakın: parolası kapalı hesaplarla yapılmış başarılı girişler, beklenmeyen kaynak IP'lerden gelen kısa süreli oturumlar, authorized_keys dosyalarında kimsenin hatırlamadığı değişiklikler, konteynerin içinden iç ağa doğru başlayan alışılmadık bağlantılar. Konteynerlerde kayıtlar kısa ömürlüdür; merkezi log toplama yoksa en azından çalışan konteynerler yeniden başlatılmadan önce kayıtları alın.
Bugün yapılacaklar
- Envanter: registry'nizdeki Alpine tabanlı imajları ve bunların içinde SSH sunucusu barındıranları çıkarın. "Geçici" debug imajlarını unutmayın.
- OpenSSH'ı 10.6p2'ye ya da dağıtımınızın yamalı paketine yükseltin; imajları yeniden derleyip yeniden dağıtın. Çalışan konteyneri yerinde güncellemek kalıcı çözüm değildir.
- Yama gecikecekse SSH erişimini güvenilir IP adresleriyle sınırlayın; konteynerde SSH gerçekten gerekli mi, sorgulayın.
- KEV kaydı adli inceleme istediği için istismar varsayımıyla kayıtları tarayın; şüpheli bulguda konteynerin eriştiği secret'ları ve anahtarları yenileyin.
- Bütün değişiklikleri change management kaydına geçirin.
Avcının notu
Bu açığın dersi OpenSSH'tan büyük: envanterde olmayan servis, patch takviminde de yoktur. Konteyner imajları kod gibi yönetilmezse, unutulan her SSH portu bir gün başkasının giriş kapısı olur.