CVE-2024-56693
Təsvir
Linux kernelində aşağıdakı zəiflik aradan qaldırılıb: brd: avtomatik disk yaradılmasını modulun işə salınması uğurla tamamlanana qədər təxirə sal Həmkarım Wupeng nasazlıq inyeksiyası zamanı aşağıdakı problemləri aşkar edib: BUG: unable to handle page fault for address: fffffbfff809d073 PGD 6e648067 P4D 123ec8067 PUD 123ec4067 PMD 100e38067 PTE 0 Oops: Oops: 0000 [#1] PREEMPT SMP KASAN NOPTI CPU: 5 UID: 0 PID: 755 Comm: modprobe Not tainted 6.12.0-rc3+ #17 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.1-2.fc37 04/01/2014 RIP: 0010:__asan_load8+0x4c/0xa0 ... Call Trace: <TASK> blkdev_put_whole+0x41/0x70 bdev_release+0x1a3/0x250 blkdev_release+0x11/0x20 __fput+0x1d7/0x4a0 task_work_run+0xfc/0x180 syscall_exit_to_user_mode+0x1de/0x1f0 do_syscall_64+0x6b/0x170 entry_SYSCALL_64_after_hwframe+0x76/0x7e loop_init() __register_blkdev() uğurla tamamlandıqdan sonra loop_add() çağırır və loop_add()-dən disk_add() nasazlığını nəzərə almır, çünki loop_add() nasazlığı ölümcül deyil və uğurla yaradılmış disklər artıq bdev_open() üçün görünür. brd_init() hazırda __register_blkdev() uğurla tamamlanmazdan əvvəl brd_alloc() çağırır və brd_init() xəta qaytardıqda uğurla yaradılmış diskləri buraxır. Bu, sonuncu iki hal üçün UAF-a səbəb ola bilər: hal 1: T1: modprobe brd brd_init brd_alloc(0) // uğurlu add_disk disk_scan_partitions bdev_file_open_by_dev // fayl ayırır fput // istifadəçi məkanına qayıdana qədər buraxmır brd_alloc(1) // yaddaş ayırma xətası inyeksiyasına görə uğursuz // modprobe üçün xəta yolu kod seqmentini buraxacaq // istifadəçi məkanına qayıdır __fput blkdev_release bdev_release blkdev_put_whole bdev->bd_disk->fops->release // fops artıq buraxılıb, UAF! hal 2: T1: T2: modprobe brd brd_init brd_alloc(0) // uğurlu open(/dev/ram0) brd_alloc(1) // uğursuz // modprobe üçün xəta yolu close(/dev/ram0) ... /* UAF! */ bdev->bd_disk->fops->release Bu problemi loop_init()-in etdiyi kimi düzəldin. Bundan əlavə, brd_list-ə edilən dəyişikliklərin ardıcıllaşdırılmasına kömək etmək üçün brd_devices_mutex-i yenidən təqdim edin.
Necə düzəltmək olar
- linux linux_kernel5.15.174, 6.1.120, 6.6.64, 6.11.11, 6.12.2 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| linux linux_kernel | 5.14 ≤ v < 5.15.174, 5.16 ≤ v < 6.1.120, 6.2 ≤ v < 6.6.64, 6.7 ≤ v < 6.11.11, 6.12 ≤ v < 6.12.2 | 5.15.174, 6.1.120, 6.6.64, 6.11.11, 6.12.2 |
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.
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.