deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak Hacker News – Front Page (hnrss.org)

Qubes OS, qvm-copy-to-vm hata diyaloglarındaki Dom0 komut enjeksiyonu açığını giderdi

QSB 118, ele geçirilmiş bir qube'un qvm-copy-to-vm hata diyalogunda geri yansıtılan dosya adı üzerinden Dom0'a shell komutları sızdırabildiğini açıklıyor. Tüm Qubes sürümleri etkileniyor ve bir dom0 paket güncellemesi sorunu çözüyor.

Qubes OS, qvm-copy-to-vm hata diyaloglarındaki Dom0 komut enjeksiyonu açığını giderdi

QSB 118 ile açıklanan Dom0 kod yürütme açığı

Qubes OS projesi Security Bulletin 118'i yayımlayarak, ele geçirilmiş bir qube'un işletim sisteminin merkezindeki ayrıcalıklı yönetim alanı olan dom0 içinde istediği komutları yürütmesine imkân tanıyan bir açıklığı duyurdu. Açık, dom0'dan bir sanal makineye dosya kopyalamak için kullanılan qvm-copy-to-vm aracı üzerinden erişiliyor ve bülten, tüm Qubes OS sürümlerinin etkilendiğini belirtiyor. 28 Ağustos 2026 tarihli ve Qubes geliştiricileri Marek Marczykowski-Górecki ile Simon Gaiser tarafından imzalanmış duyuru, Hacker News ana sayfasında da yer buldu.

Bir hata diyalogu nasıl saldırı yoluna dönüşür

qvm-copy-to-vm, veriyi projenin qfile adını verdiği, bilinçli olarak minimal tutulmuş bir arşiv formatı üzerinden aktarır. Aktarım sona erdiğinde, dosyayı alan qube dom0'a kopyalanan dosyaların sağlamasını (checksum), bir hata kodunu ve alınan son dosyanın adını içeren bir onay gönderir. Kopyalama başarısız olursa dom0, hata bilgisiyle dosya adını birleştiren bir GUI mesajı görüntüler — ve bu dosya adı hedef qube'dan geldiği için, o qube ele geçirildiğinde saldırganın kontrolündedir.

Bültene göre hatanın iki bileşeni var. Birincisi, gelen ad sanitize_remote_filename() adlı bir temizleme işlevinden geçiyor; bu işlev kontrol karakterlerini, basılabilir ASCII aralığı dışındaki baytları ve çift tırnak işaretlerini alt çizgiyle değiştiriyor. Shell meta karakterleri filtreden geçmeyi başarıyor. İkincisi, dom0 dosya kopyalama aracı mesajı, kurulu olan diyalog aracına göre bir kdialog veya zenity komut satırına biçimlendiriyor ve oluşturulan dizgiyi system()'e teslim ediyor; system() ise onu bir shell üzerinden çalıştırıyor. Temizleyici hiçbir zaman shell sözdizimi göz önünde bulundurularak tasarlanmadığından, uzak qube bildirdiği dosya adının içine komutlar gömebilir ve bunların dom0'da yürütülmesini sağlayabilir.

Sonuçlar ciddi: Zaten bir qube'u ele geçirmiş ve kullanıcıyı dom0'dan o qube'a bir dosya kopyalamaya ikna etmiş bir saldırgan, dom0'da komut yürütme elde eder — ve dom0 makinedeki tüm VM'leri yönettiği için bu, Qubes kurulumunun tamamının kontrolü anlamına gelir.

VM'den VM'ye yol etkilenmiyor. Bu yolun hata bildirme kodu zenity veya kdialog'u doğrudan bir argüman listesiyle, exec çağrı ailesi üzerinden çalıştırdığından, saldırganın kontrolündeki dizgiyi hiçbir shell görmez.

Rutin bir güncelleme açığı kapatıyor

Düzeltme, Qubes 4.3 için qubes-core-dom0-linux paketinin 4.3.22 sürümünde geliyor. Projenin genel pratiğine uygun şekilde paket önce security-testing deposunda yayımlanıyor ve kısa bir topluluk test süresinin ardından stable deposuna geçiyor. Kullanıcılara Qubes Update aracı veya komut satırı karşılıkları üzerinden normal şekilde güncellemeye devam etmeleri söyleniyor; ayrı bir işlem gerekmiyor. Açığın keşfi Tim C.'ye atfedildi ve bülten, okuyucuların özgünlüğünü doğrulayabilmesi için PGP imzaları taşıyor.

Neden önemli

Dom0, Qubes'ın bölmeli (compartmentalisation) modelinin güven çapasıdır. Sistemin temel sözü, tamamen ele geçirilmiş bir qube'un bile kapsayıcı içinde kalmasıdır; bu nedenle ele geçirilmiş bir VM'den dom0'a giden — ve sıradan bir işlem olan içine dosya kopyalama ile tetiklenen — bir yol, mimarinin korumak için var olduğu sınırı tam ortasından vurur.

Bu hata ayrıca iki sık tekrarlanan hatanın ders kitabı örneği birleşimi: geliştiricilerin yalnızca bilinen güvenli karakterlere izin vermek yerine tehlikeli gördükleri karakterleri ayıkladığı blocklist temizleme ve sabit bir argüman dizisiyle exec tarzı işlevler çağırmak yerine system() ile shell komutları oluşturma. Etkilenmeyen VM varyantının ikinci yaklaşımı benimsemesi, API seçiminin ne kadar önemli olabileceğini gösteriyor.

Kullanıcılar için pratik adım basit: güncellemeyi kurun. Saldırı hem zaten ele geçirilmiş bir qube hem de kullanıcı etkileşimi gerektirdiğinden etki alanı sınırlıdır; ancak tam olarak bu senaryoyu kapsamayı amaç edinen bir dağıtımda bu kanalı kapatmak zorunludur.

  • #qubes-os
  • #security
  • #shell-injection
  • #virtualization
  • #linux

İlgili yazılar