CVE-2025-21658

Orta

Açıklama

Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: btrfs: geçerli bir extent tree yoksa NULL pointer dereference durumundan kaçının [BUG] Syzbot, aşağıdaki çağrı izlemiyle birlikte bir çökme bildirmiştir: BTRFS info (device loop0): scrub: started on devid 1 BUG: kernel NULL pointer dereference, address: 0000000000000208 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 106e70067 P4D 106e70067 PUD 107143067 PMD 0 Oops: Oops: 0000 [#1] PREEMPT SMP NOPTI CPU: 1 UID: 0 PID: 689 Comm: repro Kdump: loaded Tainted: G O 6.13.0-rc4-custom+ #206 Tainted: [O]=OOT_MODULE Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS unknown 02/02/2022 RIP: 0010:find_first_extent_item+0x26/0x1f0 [btrfs] Call Trace: <TASK> scrub_find_fill_first_stripe+0x13d/0x3b0 [btrfs] scrub_simple_mirror+0x175/0x260 [btrfs] scrub_stripe+0x5d4/0x6c0 [btrfs] scrub_chunk+0xbb/0x170 [btrfs] scrub_enumerate_chunks+0x2f4/0x5f0 [btrfs] btrfs_scrub_dev+0x240/0x600 [btrfs] btrfs_ioctl+0x1dc8/0x2fa0 [btrfs] ? do_sys_openat2+0xa5/0xf0 __x64_sys_ioctl+0x97/0xc0 do_syscall_64+0x4f/0x120 entry_SYSCALL_64_after_hwframe+0x76/0x7e </TASK> [CAUSE] Yeniden oluşturucu, extent tree kökünün bozuk olduğu bozulmuş bir imaj kullanmakta ve bu nedenle imajı bağlamak için "rescue=all,ro" mount seçeneğinin kullanılmasına zorlamaktadır. Ardından bir scrub işlemi tetiklenmiş ancak scrub, veri/metaveri extentlerinin nerede olduğunu bulmak için extent tree'ye dayandığından, scrub_find_fill_first_stripe() boş olmayan bir extent root'a ihtiyaç duymaktadır. Ancak maalesef scrub_find_fill_first_stripe(), extent root için bir NULL pointer beklemez; fs_info'yu almak için extent_root'u kullanır ve bu da bir NULL pointer dereference tetikler. [FIX] scrub_find_fill_first_stripe() fonksiyonunun başlangıcına geçerli bir extent root için ek bir kontrol ekleyin. Yeni hata yolu 42437a6386ff ("btrfs: introduce mount option rescue=ignorebadroots") ile getirilmiştir ancak bu oldukça eskidir ve daha sonraki b979547513ff ("btrfs: scrub: introduce helper to find and fill sector info for a scrub_stripe") commit'i scrub işleminin nasıl yapıldığını değiştirmiştir. Bu nedenle, 6.6 sürümünden eski kerneller için düzeltmenin manuel olarak backport edilmesi gerekecektir.

ÖnemOrta
CVSS5.5
İstismar olasılığı—
ÜrünLinux Kernel
Yayın21 Oca 2025
İlk görülme21 Oca 2025

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel6.6.72, 6.12.10 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel5.11 ≤ v < 6.6.72, 6.7 ≤ v < 6.12.10, 6.136.6.72, 6.12.10

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.