CVE-2024-46701
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: libfs: offset dir için sonsuz dizin okumaları düzeltildi tmpfs dizin işlemleri simple_dir_operations'tan simple_offset_dir_operations'a geçirildikten sonra, gerçekleşen her yeniden adlandırma işlemi, hedef dizinin maple ağacına (&SHMEM_I(inode)->dir_offsets->mt), octx->newx_offset ile başlayan boş bir anahtarla yeni bir dentry ekleyecek ve ardından newx_offset değerini boş anahtar + 1 olarak ayarlayacaktır. Bu durum, aynı anda gerçekleşen yeniden adlandırmalarla birlikte sonsuz readdir işlemine yol açacak ve xfstests içindeki generic/736 testinin başarısız olmasına neden olacaktır (detaylar aşağıda gösterilmiştir). 1. Bir dizin altında 5000 dosya oluşturulur (1 2 3...) 2. Bir kez readdir(man 3 readdir) çağrılır ve bir giriş alınır 3. rename(entry, "TEMPFILE"), ardından rename("TEMPFILE", entry) yapılır 4. readdir hiçbir şey döndürene veya çok fazla döngü gerçekleşene kadar 2~3 adımları tekrarlanır (tmpfs ikinci koşulla testi sonlandırır) Bunu düzeltmek için 9b378f6ad48cf ("btrfs: fix infinite directory reads") commit'i ile aynı mantık seçilmiş; dizin açıldığında last_index kaydedilecek ve indeksi >= last_index olan girişler yayınlanmayacaktır. Offset dir içinde kullanılan file->private_data artık bunu yapmak için doğrudan kullanılabilir ve ayrıca dizin dosyası llseek edildiğinde last_index güncellenir. [brauner: Jan'ın önerdiği gibi, yalnızca offset sıfır olduğunda seek sonrası last_index güncellendi]
Nasıl düzeltilir
- linux linux_kernel6.10.7 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | 6.6 ≤ v < 6.10.7, 6.11 | 6.10.7 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.