CVE-2024-42111

Yüksək

Təsvir

Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: btrfs: btrfs_qgroup_inherit strukturu üçün həmişə əsas yoxlamaları yerinə yetirin [BUG] Syzbot tərəfindən KASAN vasitəsilə aşkar edilmiş aşağıdakı reqressiya hesabatı verilmişdir: BUG: KASAN: slab-out-of-bounds in btrfs_qgroup_inherit+0x42e/0x2e20 fs/btrfs/qgroup.c:3277 Read of size 8 at addr ffff88814628ca50 by task syz-executor318/5171 CPU: 0 PID: 5171 Comm: syz-executor318 Not tainted 6.10.0-rc2-syzkaller-00010-g2ab795141095 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/02/2024 Call Trace: <TASK> __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:114 print_address_description mm/kasan/report.c:377 [inline] print_report+0x169/0x550 mm/kasan/report.c:488 kasan_report+0x143/0x180 mm/kasan/report.c:601 btrfs_qgroup_inherit+0x42e/0x2e20 fs/btrfs/qgroup.c:3277 create_pending_snapshot+0x1359/0x29b0 fs/btrfs/transaction.c:1854 create_pending_snapshots+0x195/0x1d0 fs/btrfs/transaction.c:1922 btrfs_commit_transaction+0xf20/0x3740 fs/btrfs/transaction.c:2382 create_snapshot+0x6a1/0x9e0 fs/btrfs/ioctl.c:875 btrfs_mksubvol+0x58f/0x710 fs/btrfs/ioctl.c:1029 btrfs_mksnapshot+0xb5/0xf0 fs/btrfs/ioctl.c:1075 __btrfs_ioctl_snap_create+0x387/0x4b0 fs/btrfs/ioctl.c:1340 btrfs_ioctl_snap_create_v2+0x1f2/0x3a0 fs/btrfs/ioctl.c:1422 btrfs_ioctl+0x99e/0xc60 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:907 [inline] __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:893 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7fcbf1992509 RSP: 002b:00007fcbf1928218 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 00007fcbf1a1f618 RCX: 00007fcbf1992509 RDX: 0000000020000280 RSI: 0000000050009417 RDI: 0000000000000003 RBP: 00007fcbf1a1f610 R08: 00007ffea1298e97 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007fcbf19eb660 R13: 00000000200002b8 R14: 00007fcbf19e60c0 R15: 0030656c69662f2e </TASK> Həmçinin problem b5357cb268c4 ("btrfs: qgroup: do not check qgroup inherit if qgroup is disabled") commit-i ilə əlaqələndirilib. [SƏBƏB] Sözügedən commit, qgroup aktiv edilmədikdə bütün qgroup inherit yoxlamasını ötürür. Lakin bu həmçinin num_ref_copies/num_excl_copies kimi çox sadə yoxlamaları və struktur ölçüsü yoxlamalarını da ötürür. Bu o deməkdir ki, fonda qgroup aktivləşdirmə/deaktivləşdirmə yarışı (race condition) baş verdikdə və qgroup deaktiv olduğu halda btrfs_qgroup_inherit strukturu ötürüldükdə, yoxlama tamamilə ötürülür. Sonra tranzaksiya təsdiqləndiyi zaman qgroup yenidən aktivləşdirilir və btrfs_qgroup_inherit() yanlış strukturdan istifadə edərək yuxarıdakı KASAN xətasına səbəb olur. [HƏLL] btrfs_qgroup_check_inherit() funksiyasının yalnız mənbə qgroup yoxlamalarını ötürməsi təmin edildi. Beləliklə, etibarsız btrfs_qgroup_inherit strukturu ötürüldükdə, qgroup-un aktiv olub-olmamasından asılı olmayaraq biz hələ də etibarsız olanları rədd edə bilərik. Bundan əlavə, btrfs_qgroup_inherit() daxilində artıq əlavə təhlükəsizlik mexanizmi mövcuddur ki, bu da etibarsız qgroup mənbələrini sadəcə görməzdən gəlir, buna görə də yalnız qgroup mənbə yoxlamasını ötürsək belə, təhlükəsizliyimiz qorunmuş qalacaq.

CiddilikYüksək
CVSS7.8
İstismar ehtimalı—
MəhsulLinux Kernel
Dərc30 iyl 2024
İlk görülmə30 iyl 2024

Necə düzəltmək olar

Yeniləyin
  • linux linux_kernel6.9, 6.9.9 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
linux linux_kernel6.8.10 ≤ v < 6.9, 6.9.1 ≤ v < 6.9.9, 6.9, 6.106.9, 6.9.9

Versiyanızı yoxlayın

Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.

Intelligence 360 paketində

Attack Surface Management

Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.

CVE-2024-42111 · Linux Kernel · Dark Radar