CVE-2026-31452
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: ext4: truncate işlemi satır içi boyutu aştığında satır içi verileri extent yapılarına dönüştürün truncate() işlemi dosya boyutunu satır içi kapasitenin ötesine büyüttüğünde, dosyaları satır içi veri depolamadan extent tabanlı depolamaya dönüştürmek için ext4_setattr() fonksiyonuna bir kontrol eklenmiştir. Bu, dosya sisteminin; satır içi veri bayrağının ayarlı olduğu ancak dosya boyutunun satır içinde saklanabilecek miktarı aştığı tutarsız bir duruma girmesini önler. Bu düzeltme olmadan, aşağıdaki işlem sırası bir kernel BUG_ON() hatasına neden olur: 1. Satır içi bayrağı ayarlanmış ve küçük boyuta sahip bir inode ile dosya sistemini bağlayın 2. truncate(file, 50MB) - boyutu büyütür ancak satır içi bayrağı ayarlı kalmaya devam eder 3. sendfile() veri yazmaya çalışır 4. ext4_write_inline_data() fonksiyonu BUG_ON(write_size > inline_capacity) hatasını tetikler Çökme, ext4_write_inline_data() fonksiyonunun yazma işleminin satır içi depolamaya sığmasını beklemesi nedeniyle meydana gelir; ancak gerçek satır içi kapasitesi (i_block için ~60 bayt + xattrs için ~96 bayt), dosya boyutundan ve yazma isteğinden çok daha küçüktür. Düzeltme, setattr üzerinden gelen yeni boyutun inode'un gerçek satır içi kapasitesini (EXT4_I(inode)->i_inline_size) aşıp aşmadığını kontrol eder ve boyut değişikliğine devam etmeden önce dosyayı extent tabanlı depolamaya dönüştürür. Bu işlem, truncate operasyonları sırasında satır içi veri bayrağının ve dosya boyutunun tutarlı kalmasını sağlayarak kök nedeni çözer.
Nasıl düzeltilir
- linux linux_kernel5.10.253, 5.15.203, 6.1.168, 6.6.131, 6.12.80, 6.18.21, 6.19.11 ya da sonraki bir sürüm
- git.kernel.org/stable/c/07c1a31af18290054da3d18221b8bf58983c5d3a
- git.kernel.org/stable/c/110d7ef602659ce4d7947c5480f7ca2779696aaf
- git.kernel.org/stable/c/699bac4d4c951974d55b045c983d1de777215949
- git.kernel.org/stable/c/7920dcc571cef3d8aa9ee109c136125d61d41669
- git.kernel.org/stable/c/93cb2d103e5c707de0f7ad58a39b7f0fddc27aa6
- git.kernel.org/stable/c/c047332be7195833a5c5126816c2502df8269fe4
- git.kernel.org/stable/c/ed9356a30e59c7cc3198e7fc46cfedf3767b9b17
- git.kernel.org/stable/c/f53a5d9f32924bc2a810d2df243b7714da58b636
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | 3.8 ≤ v < 5.10.253, 5.11 ≤ v < 5.15.203, 5.16 ≤ v < 6.1.168, 6.2 ≤ v < 6.6.131, 6.7 ≤ v < 6.12.80, 6.13 ≤ v < 6.18.21, 6.19 ≤ v < 6.19.11, 7.0 | 5.10.253, 5.15.203, 6.1.168, 6.6.131, 6.12.80, 6.18.21, 6.19.11 |
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.