CVE-2024-35807
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: ext4: çevrimiçi yeniden boyutlandırma sırasında oluşan bozulma düzeltildi 4k blok boyutuna sahip ve 16 TiB'dan büyük bir dosya sisteminin çevrimiçi yeniden boyutlandırılması sırasında bir bozulma gözlemlenmiştir. 2^32'den fazla bloğa sahip olduğunda, resize_inode varsayılan olarak mke2fs tarafından kapatılır. Sorun, kolaylık sağlamak amacıyla resize_inode açıkça kapatılarak daha küçük bir dosya sistemi üzerinde yeniden üretilebilir. Ardından, 8 GiB sınırını (bu kurulumdaki bir meta blok grubu boyutu) aşan bir çevrimiçi yeniden boyutlandırma işlemi bozulmaya yol açar: dev=/dev/<some_dev> # >= 16 GiB olmalıdır mkdir -p /corruption /sbin/mke2fs -t ext4 -b 4096 -O ^resize_inode $dev $((2 * 2**21 - 2**15)) mount -t ext4 $dev /corruption dd if=/dev/zero bs=4096 of=/corruption/test count=$((2*2**21 - 4*2**15)) sha1sum /corruption/test # 79d2658b39dcfd77274e435b0934028adafaab11 /corruption/test /sbin/resize2fs $dev $((2*2**21)) # bloğun diskten yeniden yüklenmesini zorlamak için sayfa önbelleğini temizleyin echo 1 > /proc/sys/vm/drop_caches sha1sum /corruption/test # 3c2abc63cbf1a94c9e6977e0fbd72cd832c4d5c3 /corruption/test 2^21 = 2^15*2^6 ifadesi 8 GiB'a eşittir; burada 2^15 blok grubu başına düşen blok sayısıdır ve 2^6 ise bir meta blok grubunu oluşturan blok grubu sayısıdır. Son sağlama toplamı (checksum), dosyanın fiziksel bloklar üzerindeki yerleşimine bağlı olarak farklılık gösterebilir. Asıl bozulma, meta blok grubunun blok tanımlayıcısı yedeğinin konumu olan 63*2^15 = 2064384 numaralı fiziksel blokta meydana gelir. Çevrimiçi yeniden boyutlandırma sırasında dosya sistemi, örnekte 2 olan (yani 16 GiB'dan sonraki tüm blok grupları anlamına gelen) s_first_meta_bg noktasından başlayarak meta_bg yapısına dönüştürülecektir. Ancak, ext4_flex_group_add fonksiyonunda henüz ilk meta blok grubunun parçası olmayan blok grupları ekleyebiliriz. Yeniden üretim senaryosunda bunu, meta blok grubunun başlayacağı noktadan tam bir blok grubu boyutunu çıkararak başardık. Yedek blok grubu tanımlayıcıları güncellenirken non-meta_bg düzenini takip etmesi için bu durum dikkate alınmalıdır. Düzeltme, eklenecek grubun zaten meta blok grubunun bir parçası olup olmadığını kontrol eden bir test eklemektir.
Nasıl düzeltilir
- linux linux_kernel4.19.312, 5.4.274, 5.10.215, 5.15.154, 6.1.84, 6.6.24, 6.7.12, 6.8.3 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 | 3.7 ≤ v < 4.19.312, 4.20 ≤ v < 5.4.274, 5.5 ≤ v < 5.10.215, 5.11 ≤ v < 5.15.154, 5.16 ≤ v < 6.1.84, 6.2 ≤ v < 6.6.24, 6.7 ≤ v < 6.7.12, 6.8 ≤ v < 6.8.3 | 4.19.312, 5.4.274, 5.10.215, 5.15.154, 6.1.84, 6.6.24, 6.7.12, 6.8.3 |
| debian debian_linux | 10.0 | — |
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.