CVE-2021-47460

Orta

Açıklama

Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: ocfs2: satır içi (inline) formattan dönüştürme sonrası veri bozulmasının düzeltilmesi 6dbf7bb55598 numaralı commit ("fs: Don't invalidate page buffers in block_write_full_page()"), ocfs2'nin satır içi inode formatından normal inode formatına dönüştürülmesindeki gizli bir hatayı ortaya çıkarmıştır. ocfs2_convert_inline_data_to_extents() içerisindeki kod; bu kümeyi kapsayan tüm sayfaları yakalayarak, sıfırlayarak ve kirleterek (dirty), dosya verileri için ayrılan tüm kümenin sıfırlanmasını dener. Ancak bu sayfalar i_size değerinin ötesindedir, bu nedenle geri yazma (writeback) kodu genellikle bu kirli sayfaları yoksayar ve disk üzerinde hiçbir blok gerçekte sıfırlanmaz. Bu ihmal, standart ocfs2 yazma yolu için 693c241a5f6a numaralı commit ("ocfs2: No need to zero pages past i_size.") ile düzeltilmiş ancak satır içi dönüştürme yolu görünüşe göre unutulmuştur; commit günlüğü ayrıca sıfırlamanın neden aslında gerekli olmadığına dair bir gerekçe içermektedir. 6dbf7bb55598 numaralı commit'ten sonra durum daha da kötüleşmiştir çünkü geri yazma kodu i_size ötesindeki sayfalarda tamponları geçersiz kılmayı durdurmuş ve böylece bu sayfalar temiz PageDirty bitiyle ancak bu sayfalara bağlı tamponlar hala kirli olarak kalmıştır. Dolayısıyla, bir dosya satır içi formattan dönüştürüldüğünde, ardından geri yazma tetiklendiğinde ve sonrasında dosya büyütülerek bu sayfalar geçerli hale getirildiğinde, geçersiz kirlilik durumu korunur; mark_buffer_dirty() bu sayfalar üzerinde hiçbir işlem yapmaz (tamponlar zaten kirlidir) ancak sayfa temiz olduğu için asla geri yazılmaz. Böylece bu sayfalara yazılan veriler, sayfalar geri kazanıldığında kaybolur. Sorun için basit yeniden üretici şudur: xfs_io -f -c "pwrite 0 2000" -c "pwrite 2000 2000" -c "fsync" \ -c "pwrite 4000 2000" ocfs2_file Dosya sistemini ayırıp tekrar bağladıktan sonra, 'ocfs2_file' dosyasının sonunun içeriğini kaybettiği gözlemlenebilir. Standart yazma yolunda olduğu gibi, satır içi formattan dönüştürme sırasında anlamsız olan sıfırlama işleminin yapılmamasıyla sorun giderilmiştir. [[email protected]: boşluklar Joseph'in isteği üzerine düzeltildi]

ÖnemOrta
CVSS5.5
İstismar olasılığı—
ÜrünLinux Kernel
Yayın22 May 2024
İlk görülme22 May 2024

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel4.9.288, 4.14.253, 4.19.214, 5.4.156, 5.10.76, 5.14.15 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel4.9.242 ≤ v < 4.9.288, 4.14.204 ≤ v < 4.14.253, 4.19.155 ≤ v < 4.19.214, 5.4.75 ≤ v < 5.4.156, 5.9.5 ≤ v < 5.10.76, 5.11 ≤ v < 5.14.15, 5.154.9.288, 4.14.253, 4.19.214, 5.4.156, 5.10.76, 5.14.15

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.

Intelligence 360 paketinde

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.

CVE-2021-47460 · Linux Kernel · Dark Radar