deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak dev.to (home feed)

OpenSSH, raporun bir gün ardından Alpine parola atlatmasını giderdi; uzun ambargoların saldırganlara yarar duyurusu

OpenSSH 10.6p2, Alpine gibi musl tabanlı sistemleri etkileyen bir kimlik doğrulama atlatmasını yamaladı; düzeltme raporun yaklaşık bir gün ardından yayımlandı ve proje, yapay zekâ destekli yeniden keşiflerin uzun ambargoları riskli kıldığı uyarısında bulunuyor.

OpenSSH, raporun bir gün ardından Alpine parola atlatmasını giderdi; uzun ambargoların saldırganlara yarar duyurusu

OpenSSH, PAM olmadan ve musl libc ile derlenmiş Linux sistemlerinde — ki bu kombinasyon en çok Alpine Linux ile özdeşleşmiş durumda — kullanılabilir parolası olmayan hesaplara parola ile girişe izin veren bir kimlik doğrulama atlatmasını giderdi. Düzeltme, bir dev.to yazısına göre ekibin hatayı Wakefield'den Özgün Kültekin'den öğrenmesinin yaklaşık bir gün ardından yayımlanan OpenSSH 10.6p2'de yer aldı. Yazının kaleme alındığı sırada henüz bir CVE atanmamıştı ve Alpine, OpenSSH ne de araştırmacı sahada istismar raporlamadı.

Bir sistem ne zaman açıkta kalır

dev.to'da, PrivacyAffairs ve SecurityOnline'a dayandırılan bilgiye göre bir sunucu yalnızca birkaç koşul üst üste bindiğinde savunmasız oluyor:

  • sshd musl üzerinde çalışıyor. Başlıca örnek Alpine; ancak OpenSSH içeren Buildroot, Yocto ve OpenWrt derlemeleri de kapsama girebilir.
  • sshd parolaları kendisi doğruluyor. Alpine'ın standart openssh-server paketi PAM olmadan derleniyor ve UsePAM no ile çalışan bir PAM derlemesi de kapsam dahilinde.
  • Parola ile girişe izin veriliyor. PasswordAuthentication yes OpenSSH varsayılanı olduğundan sshd_config'te sessiz kalması da sayılıyor.
  • En az bir hesabın /etc/shadow dosyasında yalnızca * var; bu, yalnızca anahtar kullanan hesaplar, LDAP hesapları ve Alpine 3.16'dan beri root için geleneksel işaret.
  • Makinede en az bir başka hesapta gerçek bir SHA-256 veya SHA-512 parola karması bulunuyor.

Etkilenmeyenler: Debian, Ubuntu ve Fedora gibi glibc dağıtımları, parolaları PAM'a devreden sistemler, OpenBSD, Dropbear ve hiç sshd çalıştırmayan Alpine container'ları.

Yazı, Alpine'ın resmî bulut imajlarını en kötü senaryo olarak işaretliyor. Tiny Cloud, shadow parola alanı * olan varsayılan bir alpine kullanıcısı tanımlıyor ve bu kullanıcıya parolasız doas yetkisi veriyor; dolayısıyla makinedeki herhangi bir hesap gerçek bir parolaya sahip olduğunda, alpine olarak giriş yapan bir saldırgan root'a yükseltebilir.

Atlatma nasıl çalışıyor

Hataya tek bir değişiklik yol açmadı. dev.to, hatayı yıllar arayla alınmış, her biri tek başına savunulabilir üç karara bağlıyor.

2012'de musl, crypt()'i başarısızlıkta NULL yerine * döndürecek şekilde değiştirdi; çünkü birçok program NULL kontrolü yapmıyordu ve çöküyordu. Aynı dönemde musl, çok uzun parolaların CPU harcamasını önlemek için SHA-512 karmalamasını 256 bayt girişle sınırladı; bu sınırın ötesinde karmalama başarısız olur ve * döner.

2016'da OpenSSH, sshd'nin hedef hesapta kullanılabilir karma yokken bile gönderilen parolayı, başka bir hesabın salt'ını ödünç alarak karmalamasını sağladı; bu, hangi kullanıcı adlarının mevcut olduğunu ele veren bir zamanlama sızıntısını (CVE-2016-6210) kapatmak içindi.

2022'de Alpine 3.16, root'un shadow parola alanını ! yerine * yaptı.

Bunları zincirleyin: 256 bayttan uzun bir parolayla yapılan giriş denemesi, ödünç alınan bir SHA-512 salt'ına karşı karmalanıyor; musl karmalamayı bırakıp * döndürüyor; sshd bunu kayıtlı * ile karşılaştırıyor ve eşleşme sağlanıyor. Giriş başarılı oluyor. OpenSSH kök nedeni sshd dışında konumlandırırken, musl'ın geliştiricisi bunun bir musl açığı olmadığı görüşünü koruyor — her bileşen tasarlandığı gibi davrandı ve başarısızlık yalnızca kimsenin test etmediği bir derleme kombinasyonunda ortaya çıktı. Kültekin'in bunu nasıl bulduğu da aktarıldı: sshd'yi tüm glibc/musl ve PAM/PAM'sız permütasyonlarında derleyip her birine kendisinin "agent swarms" dediği yöntemle yaklaşık 17.600 olağan dışı giriş denemesi yaptı.

10.6p2 düzeltmesi bir geçici çözüm: sshd artık kayıtlı değer dört karakterden kısa olduğunda eşleşmeyi reddediyor.

Rapordan yayına bir gün

Zaman çizelgesi hatadan daha önemli olabilir. Koordineli ifşaat normalde dağıtımlara yamalara özel erişim verir; distros listesi yayından önce 14 güne kadar süre tanır. Burada ise dev.to'ya göre OpenSSH hatayı yayından yaklaşık bir gün önce öğrendi. Alpine'ın yamalı paketleri UTC 06:53 ile 09:05 arasında yerini aldı ve Damien Miller yayını UTC 09:03'te duyurarak etkilenen yöneticilere parola ile kimlik doğrulamayı ya da SSH'ı hemen kapatmaları çağrısında bulundu.

Sürüm notları gerekçeyi şöyle açıklıyor, dev.to'nun aktardığına göre: proje çok sayıda güvenlik raporu alıyor ve bunların çoğu yapay zekâ modelleri tarafından üretiliyor; yapay zekâ araçlarının bulduğu hataların başka araştırmacılar tarafından, kimi saatler içinde, bağımsız biçimde yeniden keşfedildiğine tanık oldu; ve rapor dosyalamayan saldırganların da bunları muhtemelen bulabileceği sonucuna vardı. OpenSSH artık uzun ambargoları "öncelikle saldırganlara yarar sağlayan tehlikeli bir uygulama" olarak tanımlıyor ve düzeltmeleri daha sık sürümlerde yayımlamayı planlıyor. Bu hatanın kendisi de agent'larla bulunmuştu.

Yamalama rehberi

Alpine üzerinde apk update && apk upgrade çalıştırın, ardından daemon'ı rc-service sshd restart ile yeniden başlatın; çünkü paketi yükseltmek çalışmakta olan sshd'yi değiştirmiyor. dev.to'ya göre düzeltme içeren derlemeler Alpine 3.16'ya kadar uzanıyor; örneğin edge üzerinde 10.6_p2-r0, 3.24 üzerinde 10.3_p1-r2. Etkilenen sürümler üzerine kurulu container imajları yeniden oluşturulmalı; yamalama hemen yapılamıyorsa parola ile kimlik doğrulamayı kapatmak atlatmayı ortadan kaldırıyor.

Neden önemli

Burada iki hikâye üst üste duruyor. İlki operasyonel: küçük container'larda ve gömülü imajlarda yaygın olan bir derleme kalıbını — Alpine artı PAM'sız sshd artı varsayılan parola kimlik doğrulaması — etkileyen gerçek bir kimlik doğrulama atlatması var ve ilk kritik saatlerde tarayıcıların dayanabileceği bir CVE yok. İkincisi yapısal: yapay zekâ agent'ları böylesi bir hatayı saatler içinde bulup yeniden bulabiliyorsa, savunmacıların örtük olarak bel bağladığı haftalar süren ambargo ortadan kalkmış demektir. dev.to yazısının da dediği gibi, savunmacının elinde kalan, bir düzeltmenin ne kadar çabuk fark edildiği ve filonun ne kadarının hiç açıkta kalmasıydı — bu da yalnızca CVE akışlarına değil, satıcı sürüm notlarının ve dağıtım duyurularının günlük izlenmesini de yamalama sürecinin bir parçası yapıyor.

  • #openssh
  • #alpine-linux
  • #security
  • #musl
  • #vulnerability-disclosure

İlgili yazılar