CVE-2026-98844
Açıklama
Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: netfs: bir dosya yazma işlemiyle genişletilirken EOF sonrası sayfa önbelleği temizleniyor mmap'li bir bölge üzerinden yapılan yazmalarla daha önce orada kirli veri bırakılmışsa, sıradan bir yazma işlemi tarafından EOF sonrasında oluşturulan boşluğun içeriğini silmek için netfs düzeltildi. Ne tamponlu ne de tamponsuz/DIO yazma yolu bu bayat sayfa önbelleğini temizlemektedir. Genişleten bir yazma işleminden önce, EOF'yi kapsayan folionun kuyruğu sıfırlanır. EOF'nin tamamen ötesindeki sayfalar hata ile getirilemeyeceği için, mmap aracılığıyla EOF'den sonrasına yazılan verileri tutabilecek tek folio budur. Eşzamanlı bir genişletme yazmasının veri kaybetmemesi için folio düşürülmek yerine sıfırlanır. Her iki yazma yolu da i_rwsem kilidini paylaşımlı olarak düşürür; bu nedenle genişletme yazmaları eşzamanlı olarak çalışabilir ve çağrıcı tarafından okunan i_size, folio kilitlendiğinde bayatlamış olabilir. Folio kilidi altında i_size yeniden okunur ve sıfırlanan aralık buna göre sınırlandırılır; böylece foliyoya halihazırda veri yerleştirmiş olan yarış durumundaki bir yazma işlemi üzerine yazılmaz. İletim sırasında taşıyıcı tarafından hala okunabiliyorken sayfa önbelleğinin değiştirilmemesi için, sıfırlamadan önce folio üzerindeki herhangi bir geri yazma işleminin bitmesi beklenir. Folio kilidinde, geri yazmada veya folio eşleştiğinde folio_mkclean()'in rmap yürütmesinde bloklanmak yerine -EAGAIN döndürerek IOCB_NOWAIT kuralına uyulur. truncate_pagecache() burada kullanılamaz: i_rwsem özel olarak tutulurken çağrılmalıdır ancak bu yazma yolları bunu yalnızca paylaşımlı olarak tutar ve koşulsuz olarak bloklayarak IOCB_NOWAIT özelliğini bozar. Tüm yeniden boyutlandırma boyunca i_rwsem'i özel olarak tutan çağrıcılar (truncate, setattr, fallocate, clone), gerçek herhangi bir eşzamanlı tamponlu yazıcıyı dışlar; dolayısıyla bayatlık durumu, pagecache_isize_extended()'ın yazmaları truncate/setattr'a karşı tek bir i_rwsem aracılığıyla serileştiren dosya sistemleri için zaten yaptığı gibi, folionun kirli durumundan belirlenebilir. Bu tür durumları yönetmek için netfs_clear_stale_post_isize() yardımcı fonksiyonu dışa aktarıldı. Yardımcı fonksiyon, generic/363 hatasını düzeltmek için CIFS istemcisi tarafından gereklidir.
Nasıl düzeltilir
- Linux Linuxf8f7d86b3537e885ee620898a38b749fba8a8456, 98f6a4589e0f5f6cf819b8dd45605efc481c06ce, a7036a73671fc83d299bc770710fe996d9fef9ca, 69bf14300b50631e7c2271289d347bbd1b19a06c ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 153a9961b551101cd38e94e26cd92fbfd198b19b ≤ v < f8f7d86b3537e885ee620898a38b749fba8a8456, 153a9961b551101cd38e94e26cd92fbfd198b19b ≤ v < 98f6a4589e0f5f6cf819b8dd45605efc481c06ce, 153a9961b551101cd38e94e26cd92fbfd198b19b ≤ v < a7036a73671fc83d299bc770710fe996d9fef9ca, 153a9961b551101cd38e94e26cd92fbfd198b19b ≤ v < 69bf14300b50631e7c2271289d347bbd1b19a06c, 6.8 | f8f7d86b3537e885ee620898a38b749fba8a8456, 98f6a4589e0f5f6cf819b8dd45605efc481c06ce, a7036a73671fc83d299bc770710fe996d9fef9ca, 69bf14300b50631e7c2271289d347bbd1b19a06c |
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.