OpenSSH’te “sshole” adı verilen ve CVE-2026-123158 numarasıyla izlenen parola doğrulama atlatma açığı, duyurulduktan saatler sonra saldırılarda kullanılmaya başladı. OpenSSH ekibi sorunu 5 Kasım 2026’da yayımladığı 10.6p2 sürümüyle kapattı; aynı gün Alpine Linux acil güvenlik duyurusu yayımladı. Tehdit istihbaratı şirketi Previdian ise 6 Kasım’da, gerçek Alpine ve OpenSSH çalıştıran bir tuzak sunucuda saldırganın root yetkisine ulaştığını doğruladı.

OpenSSH açığının kısa video özeti:

Açığı bulan isim Türkiye’den tanıdık: Wakefield’dan güvenlik araştırmacısı Özgün Kültekin. Hata, parolası olmayan hesapların SSH üzerinden parola ile açılabilmesine yol açıyor. Debian, Ubuntu ve Fedora gibi glibc tabanlı dağıtımlar etkilenmiyor; risk musl C kütüphanesi kullanan ve PAM olmadan çalışan sistemlerde.

Kısaca

  • Açık: CVE-2026-123158 (“sshole”), CVSS 8.1. OpenSSH 10.6p2 öncesi sshd, musl libc + PAM kapalı yapılandırmalarda.
  • Etki: Parola alanı * olan hesaplara (yalnız anahtarla giriş yapılan kullanıcılar, dizin servisinden gelen kullanıcılar, bulut imajlarındaki varsayılan kullanıcı) parola bilmeden giriş.
  • Etkilenen başlıca sistem: Alpine Linux 3.16’dan edge’e kadar tüm sürümler. Alpine her dal için yamalı paket yayımladı.
  • İstismar: Previdian’a göre ilk deneme açıklamadan dokuz saat sonra geldi; bir tuzak sunucuda root erişimi görüldü.
  • Çözüm: Güncelle ve sshd’yi yeniden başlat. Hemen güncelleyemiyorsanız PasswordAuthentication no.

Ne oldu?

Sorunun kaynağı iki eski tasarım kararının çakışması. OpenSSH, 2016’da kullanıcı adlarının zamanlama farkıyla tahmin edilmesini önlemek için, kullanılabilir parola özeti olmayan hesaplarda da parola denemesini başka bir hesabın tuzuyla özetleyip karşılaştırmaya başladı. musl kütüphanesinin crypt() işlevi ise çok uzun girdilerde hata göstergesi olarak * döndürüyor. Parolasız hesapların kayıtlı alanı da tam olarak *. İki değer eşleşince sshd girişi kabul ediyor.

Alpine’in duyurusu riski açıkça anlatıyor: Saldırganın SSH portuna erişmesi, parola alanı * olan bir hesap adı bilmesi ve makinede gerçek parola özetine sahip en az bir başka hesap bulunması yetiyor. Duyuruya göre tek bağlantı yeterli, deneme tekrarına gerek yok. OpenSSH geliştiricisi Damien Miller, kök nedenin sshd dışında olduğunu ama sshd üzerinden istismar edildiğini, bu yüzden düzeltmenin sshd’ye eklendiğini yazdı.

Bu yazıda saldırı adımlarına girmiyoruz. Savunma açısından önemli olan şu: Açık, “parolası yok, demek ki parolayla girilemez” varsayımını bozuyor. Yöneticilerin en güvenli saydığı hesap tipi, yani yalnız anahtarla giriş yapan deploy kullanıcıları, bu yapılandırmada en açık hedef oluyor.

Kimler risk altında?

Alpine’e göre aşağıdaki koşulların hepsi birlikte varsa sistem etkileniyor:

  • Alpine’in PAM’siz derlenen varsayılan openssh-server paketi ya da UsePAM no ile çalışan openssh-server-pam.
  • PasswordAuthentication yes (OpenSSH’in varsayılanı).
  • Parola alanı * olan bir hesap: anahtar odaklı kullanıcılar, musl-nscd ile dizin servisinden gelen kullanıcılar ya da resmi bulut imajlarındaki alpine kullanıcısı.
  • En az bir yerel hesapta $5$ veya $6$ biçiminde gerçek parola özeti.

Root hesabı da varsayılan olarak * taşıyor, ancak OpenSSH’in PermitRootLogin prohibit-password varsayılanı onu koruyor. Asıl tehlike dolaylı root. Alpine’in 3.18.11–3.24.3 arası resmi tiny-cloud imajlarında alpine kullanıcısı parolasız doas yetkisine sahip. İmajlar ilk açılışta güvenli, ama bir yönetici konsol parolası tanımladığı anda istismar edilebilir hale geliyor. cloud-init ile yapılandırılan imajlar PasswordAuthentication no yazdığı için etkilenmiyor.

Etkilenmeyenler de net: sshd çalıştırmayan Docker konteynerleri, parola girişi kapalı sistemler, PAM açık kurulumlar, ! ile kilitlenmiş hesaplar, Dropbear ve OpenBSD. Help Net Security’nin aktardığına göre Kültekin, OpenWrt, Buildroot ve Yocto gibi musl tabanlı diğer sistemlerin ve “çektiğiniz pek çok Docker imajının” da kontrol edilmesini öneriyor.

İstismar ne kadar hızlı geldi?

Help Net Security’nin 6 Kasım tarihli haberine göre Previdian kurucusu Ryan Dewhurst, ilk saldırı denemesinin CVE yayımlandıktan dokuz saatten kısa süre sonra geldiğini ve gerçek Alpine çalıştıran bir tuzak sunucuda root erişiminin doğrulandığını söyledi. Saldırgan giriş yaptıktan sonra id, uname ve hostname gibi keşif komutları çalıştırdı. O aşamada denemeler tek bir IP adresinden geliyordu. Açık 8 Kasım itibarıyla CISA’nın aktif istismar kataloğunda (KEV) değil; Previdian onu kendi listesine ekledi.

GitHub’da kavram kanıtı kodlar da paylaşıldı. Previdian bunların doğrulanmadığını ve zararlı yazılım içerebileceğini hatırlatıyor. Sistemlerinizi test etmek için tanımadığınız exploit kodunu çalıştırmayın; aşağıdaki yapılandırma kontrolleri yeterli.

Neden önemli? Yapay zekâ yama penceresini daraltıyor

OpenSSH’in sürüm notları bu ayın en dikkat çekici uyarılarından birini içeriyor. Ekip, yapay zekâ araçlarıyla bulunan güvenlik hatalarının kısa süre içinde başka araştırmacılarca bağımsız olarak yeniden keşfedildiğini gördüğünü, bu yüzden düzeltmeleri biriktirmek yerine daha sık sürüm çıkaracağını yazıyor. Miller, SecurityWeek’e yaptığı açıklamada sorunu bir gün önce öğrendiklerini ve uzun ambargo sürelerini artık saldırganlara yarayan tehlikeli bir uygulama olarak gördüklerini söyledi.

Kültekin de açığı ararken “ajan sürüleri” kullandığını, farklı derleme kombinasyonlarına 17 bini aşkın sıra dışı giriş denemesi gönderdiğini anlattı. Aynı yöntem saldırganların da elinde. Sonuç basit: Kritik bir açık duyurulduğunda “hafta sonu bakarız” lüksü kalmadı. Bu hafta cPGuard güncelleme kanalı saldırısında da gördüğümüz gibi, Linux sunucu güvenliğinde saatler belirleyici hale geldi.

Türkiye açısından

Alpine, Türkiye’de de konteyner tabanlı geliştirmede en sık seçilen temel imajlardan biri. Bulut sağlayıcılarında küçük VPS’ler, ağ cihazları, OpenWrt tabanlı modemler ve gömülü sistemler de musl kullanıyor. Konteynerin içinde sshd çalıştırmak kötü bir pratik sayılsa da hata ayıklama ya da eski dağıtım alışkanlıkları nedeniyle hâlâ yaygın. Ayrıca açığı bulan araştırmacının Türk olması, yerel güvenlik topluluğunun küresel açık araştırmasına katkısını gösteren iyi bir örnek.

KVKK açısından da hatırlatma gerekli: Ele geçirilen bir sunucuda kişisel veri işleniyorsa, ihlalin öğrenilmesinden itibaren 72 saat içinde Kurul’a bildirim yükümlülüğü doğabilir. Saldırı izini dışlayamıyorsanız bunu hukuk birimiyle birlikte değerlendirin.

Ne yapmalısınız?

  • Güncelleyin: Alpine’de apk upgrade -U -a çalıştırın. Alpine 3.21.10, 3.22.8, 3.23.8 ve 3.24.4 yamayı içeriyor; 3.16’ya kadar eski dallar için de paket var. Diğer musl sistemlerde OpenSSH 10.6p2 ya da dağıtımınızın yamalı paketini kullanın.
  • sshd’yi yeniden başlatın: rc-service sshd restart. Paket güncellemesi çalışan servisi değiştirmiyor; eski süreç bağlantı kabul etmeye devam ediyor.
  • Hemen güncelleyemiyorsanız: PasswordAuthentication no ayarlayın, sshd -t ile yapılandırmayı doğrulayıp servisi yeniden başlatın. Önce anahtarlı girişin çalıştığından emin olun ve mevcut oturumu kapatmayın.
  • İz arayın: /var/log/messages içinde parolası olmayan bir hesap için “Accepted password for” satırı var mı bakın. doas kullanımı, yeni kullanıcılar, yeni dosyalar ve authorized_keys değişikliklerini inceleyin.
  • Şüphe varsa: Girişi dışlayamıyorsanız makineyi ele geçirilmiş sayın, temiz imajdan yeniden kurun ve o sunucudaki anahtarları döndürün.
  • Kalıcı önlem: SSH’i doğrudan internete açmayın; VPN, bastion ya da IP kısıtlamasıyla sınırlayın. Kullanılmayan hesapları ! ile kilitleyin.