- Debian sid kurulumlarında liblzma (xz paketinin bir parçası) ile ilgili bazı olağandışı belirtiler gözlemlendi: SSH oturumu açarken CPU kullanımında artış ve valgrind hataları
- Sorunun nedeni olarak, xz’nin üst depoları ile tarball’larının bir arka kapıyla enfekte olduğu keşfedildi. Arka kapının bir kısmı yalnızca dağıtılan tarball’larda bulunuyor
- Tarball’a dahil edilen betik,
configure işleminin sonunda çalıştırılıyor ve belirli koşullar sağlanırsa $builddir/src/liblzma/Makefile dosyasını değiştirerek kötü amaçlı kod enjekte ediyor.
Depodaki arka kapı
- Arka kapının ana kısmı, depodaki
tests/files dizininde şifrelenmiş biçimde bulunuyor.
- Bu dosyalar 5.6.0 sürümünün testlerinde kullanılmadı; 5.6.1 sürümünde ise arka kapının neden olduğu valgrind hataları ve çökmeleri düzeltmeye yönelik girişimler vardı.
Etkilenen sistemler
- Arka kapı betiği,
configure sonrasında ilk çağrıldığında yalnızca belirli koşullarda (ör. x86-64 Linux sistemleri, gcc ve GNU bağlayıcısı kullanımı, Debian veya RPM paketi derleme sırasında) derleme sürecini değiştiriyor.
openssh sunucusuna etkisi
- Arka kapı yerleştirilmiş liblzma kullanıldığında SSH üzerinden oturum açma yavaşlıyor.
- openssh doğrudan liblzma kullanmasa da Debian dahil bazı dağıtımlar systemd bildirim desteği için openssh’e yama uyguluyor ve libsystemd de lzma’ya bağımlı.
Enjekte edilen kodun analizi
- Analiz, güvenlik araştırmacısı ya da tersine mühendislik uzmanı olmayan bir gözlemcinin bakış açısından yapıldı.
- Arka kapı, ifunc resolver aracılığıyla yürütmeyi ele geçiriyor ve sshd başlatılması sırasında sembolleri çözümleyerek
RSA_public_decrypt sembolünü kendi koduyla değiştiriyor.
sshd üzerindeki etkisi
RSA_public_decrypt@....plt, arka kapı kodunu gösterecek şekilde değiştirilerek açık anahtarla oturum açma sırasında arka kapı kodunun çağrılması sağlanıyor.
- Bunun kimlik doğrulamayı atlamayı veya uzaktan kod yürütmeyi mümkün kıldığı tahmin ediliyor.
Hata bildirimi
- Üst deponun işin içinde olduğundan şüphelenildiği için hata raporu gönderilmedi.
- Red Hat bu soruna CVE-2024-3094 atadı.
Savunmasız kurulumların tespiti
- Sistemdeki ssh ikilisinin savunmasız olup olmadığını tespit eden bir betik sağlanıyor.
8 yorum
xz arka kapısı hakkında bildiğim her şey
Bu, söz konusu arka kapıyı keşfeden Andres Freund tarafından yazılmış bir yazıdır.
Bunun çok planlı bir şekilde yürütülmüş olması gerçekten şaşırtıcı;; süreç adeta bir dizi gibi.
Bunu parça parça etseler bile az kalır.
Neden?
Bu, açık kaynak içine kasıtlı olarak bir arka kapı yerleştirme eylemiydi... bu süreçte gizlice kamuoyu yönlendirme çabaları gibi davranışlarda da bulundular.
Daha önce de Linux çekirdeğine kötü niyetli şekilde güvenlik açığı eklenen vakalar olmuştu, insanın içini burkuyor.
Aha, sanırım nüansı şimdi anladım, teşekkürler
Hacker News görüşü
İlgili bağlantılar:
Özet:
xz-javaprojesine birSECURITY.mddosyası ekledi. Bu dosya, güvenlik açığı bulunursa bunun kamuya açıklanmadan özel olarak bildirilmesini söylüyordu. Başka bir açıdan bakıldığında bu, yazarın kendi exploit'ini ayarlamak ve hedefleri kullanmak için zaman kazanmaya çalıştığı şeklinde yorumlanabilir.sshd'yi systemd altında çalıştırıp çalıştırmadığınız. Bazı dağıtımlarda yamalanmış OpenSSH, loglama için libsystemd kullanıyor ve bu da savunmasız liblzma5'i devreye sokuyor.5.6.1+really5.4.5-1sürümüne sahip; bu da gerçekte eski 5.4 sürümünün yeni sürüm gibi yeniden paketlenmiş hali.curl | shbetiğine değil oraya saklardınız. Bu olaydaki dağıtıcı daha önce de sürüm yayımlamış ve 2022'den beri commit atıyordu. Gerçek değişiklikler içeren çok sayıda commit'i ve libarchive gibi ilgili projelerde de katkıları vardı. Arka kapıyı yerleştirmek için büyük çaba harcanmış..tar.xzyazılım tarball'arı gibi dosyaların yalnızca küçük bölümlerini seçerek değiştiren bir xz üretilebilir. Buradaki hedef, kaynak kodu tarball'ları değil, önceden derlenmiş binary dağıtan tarball'lar olurdu.