CVE-2026-45985

Orta

Açıklama

Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: ext4: I/O gönderimi öncesinde bölme işlemi yapılırken EXT4_GET_BLOCKS_CONVERT ayarlanmasın dioread_nolock etkinleştirilmişken, EOF içi DIO ve writeback sırasında blok tahsisi yaparken, mevcut büyük bir yazılmamış extent'i bölmek için EXT4_GET_BLOCKS_PRE_IO ayarlanıyordu. Ancak, ext4_split_convert_extents() çağrılırken EXT4_GET_BLOCKS_CONVERT bayrağının da ayarlanmış olması, potansiyel olarak güncelliğini yitirmiş veri (stale data) sorunlarına yol açabiliyordu. Yazılmamış bir extent olduğunu ve ardından DIO'nun ikinci yarısını yazdığını varsayalım. [UUUUUUUUUUUUUUUU] disk üzerindeki extent U: yazılmamış extent [UUUUUUUUUUUUUUUU] extent durum ağacı |<- ->| ----> dio bu aralığı yazar İlk olarak, ext4_iomap_alloc(); ext4_map_blocks() fonksiyonunu EXT4_GET_BLOCKS_PRE_IO, EXT4_GET_BLOCKS_UNWRIT_EXT ve EXT4_GET_BLOCKS_CREATE bayrakları ayarlı şekilde çağırır. ext4_map_blocks() bu extent'i bulur ve ext4_split_convert_extents() fonksiyonunu EXT4_GET_BLOCKS_CONVERT ve yukarıdaki bayraklar ayarlı şekilde çağırır. Ardından, ext4_split_convert_extents(); ext4_split_extent() fonksiyonunu EXT4_EXT_MAY_ZEROOUT, EXT4_EXT_MARK_UNWRIT2 ve EXT4_EXT_DATA_VALID2 bayrakları ayarlı şekilde çağırır ve ikinci yarıyı EXT4_EXT_DATA_VALID2, EXT4_EXT_MARK_UNWRIT1, EXT4_EXT_MAY_ZEROOUT ve EXT4_EXT_MARK_UNWRIT2 bayraklarıyla bölmek için ext4_split_extent_at() fonksiyonunu çağırır. Ancak, geçici bir -ENOSPC eksikliği nedeniyle ext4_split_extent_at() extent ekleme işlemini gerçekleştiremez. İlk yarıyı sıfırlar ancak EXT4_EXT_DATA_VALID2 bayrağı ayarlı olduğu için disk üzerindeki tüm extent'i "yazılmış" olarak dönüştürür; fakat extent durum ağacında ikinci yarıyı "yazılmamış" olarak bırakır. [0000000000SSSSSS] veri S: güncelliğini yitirmiş veri, 0: sıfırlanmış [WWWWWWWWWWWWWWWW] disk üzerindeki extent W: yazılmış extent [WWWWWWWWWWUUUUUU] extent durum ağacı Sonuç olarak, eğer DIO veriyi diske yazamazsa, önbelleğe alınmış extent girişi kaybolduğunda ikinci yarıdaki güncelliğini yitirmiş veri açığa çıkacaktır. Bu sorun, I/O gönderilmeden önce yazılmamış bir extent bölünürken EXT4_GET_BLOCKS_CONVERT parametresinin geçirilmemesiyle, ext4_split_convert_extents() fonksiyonunun bu durum için tüm extent aralığını sıfırlaması ve tutarlılık adına extent durum ağacındaki extent'i işaretlemesiyle düzeltilmiştir.

ÖnemOrta
CVSS5.5
İstismar olasılığı—
ÜrünLinux Kernel
Yayın27 May 2026
İlk görülme27 May 2026

Nasıl düzeltilir

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel3.15 ≤ v < 5.10.253, 5.11 ≤ v < 5.15.203, 5.16 ≤ v < 6.6.130, 6.7 ≤ v < 6.12.77, 6.13 ≤ v < 6.18.17, 6.19 ≤ v < 6.19.45.10.253, 5.15.203, 6.6.130, 6.12.77, 6.18.17, 6.19.4

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-2026-45985 · Linux Kernel · Dark Radar