CVE-2026-23249

Orta

Açıklama

Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: xfs: iki btree yeniden doğrulanırken silinmiş imleçlerin kontrol edilmesi Boş alan ve inode btree onarım fonksiyonları her iki btree yapısını aynı anda yeniden oluşturur ve ardından bozulmaların giderildiğini onaylamak için her iki btree yapısını değerlendirmesi gerekir. Ancak, Jiaming Zhang syzbot çalıştırdığında ikinci xchk_allocbt çağrısında bir çökmeye neden olmuştur. Kök neden analizi şu şekildedir (küçük düzeltmelerle birlikte): xrep_revalidate_allocbt() içinde, xchk_allocbt() iki kez çağrılır (birincisi BNOBT için, ikincisi CNTBT için). Bu sorunun nedeni, ilk çağrının ikinci çağrı tarafından gereken imleci geçersiz kılmasıdır (nullify). Öncelikle şu çağrı zinciri üzerinden xrep_revalidate_allocbt() fonksiyonuna girelim: xfs_file_ioctl() -> xfs_ioc_scrubv_metadata() -> xfs_scrub_metadata() -> `sc->ops->repair_eval(sc)` -> xrep_revalidate_allocbt() Bu fonksiyonda xchk_allocbt() iki kez çağrılır. İlk çağrıda: /* Not: sc->sm->sm_type şu an XFS_SCRUB_TYPE_BNOPT değerindedir */ xchk_allocbt() -> xchk_btree() -> `bs->scrub_rec(bs, recp)` -> xchk_allocbt_rec() -> xchk_allocbt_xref() -> xchk_allocbt_xref_other() sm_type değeri XFS_SCRUB_TYPE_BNOBT olduğu için pur, &sc->sa.cnt_cur olarak ayarlanır. Çekirdek xfs_alloc_get_rec() fonksiyonunu çağırmış ve -EFSCORRUPTED döndürmüştür. Çağrı zinciri: xfs_alloc_get_rec() -> xfs_btree_get_rec() -> xfs_btree_check_block() -> (XFS_IS_CORRUPT || XFS_TEST_ERROR), ilki yanlış ve ikincisi doğrudur, -EFSCORRUPTED döner. Bunun ioctl$XFS_IOC_ERROR_INJECTION nedeniyle kaynaklandığını tahmin ediyorum. xchk_allocbt_xref_other() fonksiyonuna geri dönüldüğünde, xfs_alloc_get_rec()'den -EFSCORRUPTED alındıktan sonra çekirdek xchk_should_check_xref() fonksiyonunu çağırmıştır. Bu fonksiyonda, *curpp (sc->sa.cnt_cur'a işaret eder) geçersiz kılınmıştır. xrep_revalidate_allocbt() fonksiyonuna geri dönüldüğünde, sc->sa.cnt_cur geçersiz kılındığı için xchk_allocbt() (ikinci çağrı) -> xchk_btree() aracılığıyla null-ptr-deref tetiklenmiştir. Yani; bnobt yeniden doğrulaması bir çapraz referans denemesinde başarısız olmuş, bu nedenle cntbt imlecini silmişiz ve ardından cntbt'yi yeniden doğrulamaya çalıştığımızda sistem çökmüştür. Bu nedenle, söz konusu yeniden doğrulama işleminden önce null cntbt imleci kontrol edilmeli ve onarım tamamlanmamış olarak işaretlenmelidir. Ayrıca, eğer ilk ağaç yeniden oluşturulmuş ancak zaten bozuksa, ikinci ağaç tamamen göz ardı edilebilir. Aynı sorun mevcut olduğu için aynı düzeltme xrep_revalidate_iallocbt için de uygulanmıştır.

ÖnemOrta
CVSS5.5
İstismar olasılığı—
ÜrünLinux Kernel
Yayın18 Mar 2026
İlk görülme18 Mar 2026

Nasıl düzeltilir

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel6.8 ≤ v < 6.12.75, 6.13 ≤ v < 6.18.16, 6.19 ≤ v < 6.19.66.12.75, 6.18.16, 6.19.6

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