CVE-2023-53813
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: ext4: ext4_mb_use_preallocated fonksiyonundaki rbtree gezinti hatası düzeltildi Tahsisler sırasında, inode başına düşen rbtree içinde ön tahsisleri (PA) ararken ağacın doğrudan gezintisi yapılamaz; çünkü ext4_mb_discard_group_preallocation() paralel olarak bir pa'yı silindi olarak işaretleyebilir ve bu durum doğrudan gezintinin bazı girişleri atlamasına neden olabilir. Bu durum, isteğimizi karşılayabilecek bir PA'nın atlanması ve nihayetinde atlananla örtüşecek yeni bir PA oluşturulmaya çalışılması durumunda bir BUG_ON() tetiklenmesine yol açıyordu [1]. rbtree performansını korurken bu durumu yönettiğimizden emin olmak için, orijinal hedef başlangıcıyla örtüşebilecek tek pa'nın aşağıdaki koşulları sağlaması gerçeğinden yararlanıyoruz: 1. Mantıksal başlangıcı, orijinal mantıksal başlangıcın hemen solunda (yani daha küçük) olmalıdır. 2. Silinmiş olmamalıdır. Bu pa'yı bulmak için şu gezinti yöntemini kullanıyoruz: 1. Hemen komşu olan PA'yı bulmak için normal şekilde rbtree içine inilir. Burada, PA'nın silinip silinmediğine veya isteğimizle örtüşüp örtüşmediğine bakılmaksızın inişe devam edilir. Amaç, hemen bitişikteki bir PA'yı bulmaktır. 2. Bulunan PA orijinal hedefin sağındaysa, soldaki komşu PA'yı bulmak için rb_prev() kullanılır. 3. Bu PA'nın silinip silinmediği kontrol edilir ve silinmemiş bir PA bulunana kadar rb_prev() ile sola doğru hareket edilmeye devam edilir. 4. Aradığımız PA budur. Artık bunun orijinal isteği karşılayıp karşılayamayacağı kontrol edilebilir ve buna göre işlem yapılır. Bu yaklaşım aynı zamanda ağaçta silinmiş PA'ların bulunması durumunu da çözer. (Aynı zamanda, bir PA'nın sonunun hesaplanmasındaki olası bir taşma hatası da düzeltilmiştir) [1] https://lore.kernel.org/linux-ext4/CA+G9fYv2FRpLqBZf34ZinR8bU2_ZRAUOjKAD3+tKRFaEQHtt8Q@mail.gmail.com/
Nasıl düzeltilir
- Linux Linux339fee69a1daa71d6f97e47a867e2c32419a2406, 9d3de7ee192a6a253f475197fe4d2e2af10a731f ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 3872778664e36528caf8b27f355e75482f6d562d ≤ v < 339fee69a1daa71d6f97e47a867e2c32419a2406, 3872778664e36528caf8b27f355e75482f6d562d ≤ v < 9d3de7ee192a6a253f475197fe4d2e2af10a731f, 6.4 | 339fee69a1daa71d6f97e47a867e2c32419a2406, 9d3de7ee192a6a253f475197fe4d2e2af10a731f |
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.