60 saniyede CVE-2024-3094 (XZ Utils Arka Kapısı)

XZ Utils, tüm Linux ekosisteminde yaygın olarak kullanılan bir veri sıkıştırma projesidir. Projenin liblzma kütüphanesi, doğrudan XZ kullanmıyor gibi görünen birçok süreç tarafından dolaylı (transitive) olarak yüklenebilir. Mart 2024’te, resmi olarak yayınlanan XZ Utils 5.6.0 ve 5.6.1 sürüm arşivlerinin (tarball) kasıtlı olarak yerleştirilmiş karmaşık bir arka kapı (backdoor) barındırdığı keşfedildi.

Saldırı projenin kaynak koduna sıradan, bariz zararlı bir dosya eklemekle kalmadı. Tetikleyici kod yalnızca resmi release tarball arşivinde bulunurken, sonraki aşamalar masum görünen sıkıştırma test dosyalarının (test fixtures) içine gizlenmişti. Belirli Linux dağıtım derleme koşulları altında bu parçalar bir araya gelerek üretilen liblzma kütüphanesini manipüle ediyordu.

Bazı Linux dağıtımlarında, OpenSSH’in sshd süreci systemd bildirim desteği için libsystemd kütüphanesini yüklüyordu; libsystemd ise sıkıştırma desteği için arka planda liblzma’ya bağlıydı:

sshd -> libsystemd -> liblzma

Bu geçişken bağımlılık (transitive dependency), modifiye edilmiş zararlı kütüphaneyi kimlik doğrulaması henüz tamamlanmadan önce ayrıcalıklı SSH sunucu sürecinin içine taşıdı. Yapılan teknik analizler, arka kapının OpenSSH içindeki RSA imza doğrulama akışına müdahale ettiğini ve ilgili özel anahtara (private key) sahip saldırgan için kimlik doğrulaması gerektirmeyen uzaktan tam yetkili erişim sağladığını ortaya koydu.

Saldırı yolu (attack path) şu şekildeydi:

Zararlı XZ sürüm tarball'ı
  -> Dağıtım paketi derlenirken gizli aşamalar aktifleşir
  -> Modifiye edilmiş liblzma kütüphanesi sisteme kurulur
  -> sshd, libsystemd üzerinden liblzma'yı belleğe yükler
  -> SSH kimlik doğrulama yolu (RSA doğrulaması) kancalanır (hook)
  -> Saldırgan yetkisiz uzaktan erişim elde eder

Bu olay hem bir yazılım tedarik zinciri saldırısı (software supply-chain compromise) hem de bir OpenSSH kimlik doğrulama istismarıydı. CVE-2024-3094 olarak kaydedildi.

Ne oldu?

Kronoloji şu şekildedir:

  1. “Jia Tan” kimliğini kullanan bir katkıcı, XZ projesinde release sorumluluğu ve bakımcı yetkisi elde etti.
  2. Git deposuna sıkıştırma testi süsü verilmiş ikili (binary) test dosyaları eklendi.
  3. Jia Tan tarafından imzalanan resmi XZ 5.6.0 ve 5.6.1 sürüm arşivleri (tarball) yayınlandı. Bu arşivler, Git deposunda bulunmayan gizli bir derleme betiği (m4 macro) içeriyordu.
  4. Hedeflenen x86-64 Linux paketleri (Debian ve RPM tabanlı) derlenirken bu betik test dosyalarındaki gizli aşamaları ayıkladı ve derlenen liblzma kütüphanesine enjekte etti.
  5. PostgreSQL geliştiricisi Andres Freund, Debian unstable üzerinde SSH bağlantılarının olağandışı CPU tükettiğini ve Valgrind hataları ürettiğini fark etti. Araştırması arka kapıyı ortaya çıkardı ve 29 Mart 2024’te kamuoyuna duyuruldu.
  6. Dağıtımlar etkilenen paketleri hızla geri çekti ve temiz XZ Utils 5.6.2 sürümü yayınlandı.

Evidence matrix

SoruNeyi kontrol ettimGüvenSınır
Hangi sürümler etkilendi?Yalnızca kötü niyetli 5.6.0 ve 5.6.1 sürüm tarball’larını doğruladım.YüksekGit deposundaki saf kaynak kod bu aşamaları içermiyordu.
Arka kapıyı ne tetikliyordu?x86-64 Linux ortamında GNU derleyicisi ve belirli paketleme bayraklarıyla derleme yapılması.YüksekmacOS ve diğer mimarilerde derleme sırasında arka kapı aktifleşmiyordu.
OpenSSH nasıl etkilendi?sshd’nin libsystemd üzerinden liblzma’yı transitif bağımlılık olarak yüklemesiyle.Yükseklibsystemd bağlantısı olmayan bağımsız OpenSSH derlemeleri etkilenmedi.
Güvenlik etkisi nedir?RSA doğrulama akışının manipüle edilmesiyle ön kimlik doğrulamalı uzaktan root erişimi.YüksekSaldırganın özel anahtarına sahip olmayanlar için kapı tetiklenemezdi.

Sonuç

XZ sürümünüzün 5.6.2 veya dağıtımınız tarafından temizlenen güvenli bir paket olduğunu doğrulayın.

Bu vaka yazılım güvenliğinde tarihi bir derstir: Açık kaynak kodunun kamuya açık olması, dağıtılan sürüm paketlerinin (release artifacts) otomatik olarak güvenilir olduğu anlamına gelmez. Git kaynak kodu ile yayınlanan release tarball arasındaki en ufak bir sapma, küresel bir altyapıyı sessizce tehlikeye atabilecek kadar yıkıcı olabilir.

Kaynaklar ve sınırlar

Bu analiz için kullanılan kanıtlar

Kontrol edilen kaynaklar24 Ağustos 2026

Sürüm ve sömürü durumu değişebilir; üretici kayıtlarını takip edin.

İnceleme DurumuYazar incelemesi tamamlandı

Yazar teknik incelemeyi tamamladı. Bu etiket tek başına laboratuvar yeniden üretimi iddiası taşımaz.

◈ Bu Araştırmayı Kaynak GösterBibTeX · Markdown

Bu araştırma notunu, CVE analizini veya bulgularını akademik çalışmalarınızda ya da güvenlik bültenlerinizde atıfta bulunmak için kopyalayabilirsiniz:

@misc{jankesec_xz_utils_release_artifact_cve_2024_3094_2025,
  author       = {Sevban D\"{o}nmez},
  title        = {CVE-2024-3094: Arka Kapılı XZ Dağıtımının OpenSSH'a Nasıl Ulaştığı},
  year         = {2025},
  howpublished = {\url{https://jankesec.com/tr/arastirma/xz-utils-release-artifact-cve-2024-3094/}},
  note         = {jankesec technical security research (CVE-2024-3094)}
}