В ядре Linux устранена следующая уязвимость: f2fs: исправление, чтобы избежать паники в f2fs_evict_inode Как syzbot [1] сообщается ниже: R1…
В ядре Linux устранена следующая уязвимость: f2fs: исправление, чтобы избежать паники в f2fs_evict_inode Как syzbot [1] сообщается ниже: R10: 000000000000100 R11: 000000000000026 R12: 00007ffe17473450 R13: 00007f28b1c10854 R14: 000000000000даэ5 R15: 00007ffe17474520 </ЗАЯДВИКА> ----[ конечный след 00000000000000000 ]---- ================================================================================================================================================================================================================================================================ BUG: KASAN: use-after-free в __list_del_entry_valid+0xa6/0x130 lib/list_debug.c:62 Прочитайте размер 8 по адресу ff88812d962278 по задаче syz-executor/564 CPU: 1 PID: 564 Комп.: syz-исполнитель Испорченный: G W 6.1.129-syzkaller #0 Аппаратное название: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025 Трейс по вызову: <TASK> __dump_stack+0x21/0x24 lib/dump_stack.c:88 дап_стак_lvl+0xee/0x158 lib/dump_stack.c:106 print_address_description+0x71/0x210 мм/kasan/report.c:316 print_report+0x4a/0x60 мм/kasan/report.c:427 kasan_report+0x122/0x150 мм/kasan/report.c:531 __asan_report_load8_noabort+0x14/0x20 мм/kasan/report_generic.c:351 __list_del_del_entry_valid+0xa6/0x130 lib/list_debug.c:62 __list_del_entry включить/linux/list.h:134 [inline] list_del_init включить/linux/list.h:206 [inline] f2fs_inode_synced+0xf7/0x2e0 fs/f2fs/super.c:1531 f2fs_update_inode+0x74/0x1c40 fs/f2fs/inode.c:585 f2fs_update_inode_page+0x137/0x170 fs/f2fs/inode.c:703 f2fs_write_inode+0x4ec/0x770 fs/f2fs/inode.c:731 write_inode fs/fs-writeback.c:1460 [inline] __writeback_single_inode+0x4a0/0xab0 fs/fs-writeback.c:1677 writeback_single_inode+0x221/0x8b0 fs/fs-writeback.c:1733 синкод_индой_метада+0xb6/0x110 fs/fs-writeback.c:2789 f2fs_sync_inode_meta+0x16d/0x2a0 fs/f2fs/checkpoint.c:1159 Блок_операции fs/f2fs/checkpoint.c:1269 [inline] f2fs_write_checkpoint+0xca3/0x2100 fs/f2fs/checkpoint.c:1658 kill_f2fs_super+0x231/0x390 fs/f2fs/super.c:4668 деактивировать_замкнутый_супер+0х98/0x100 fs/super.c:332 деактивировать_супер+0ксаф/0xe0 fs/super.c:363 очистить_мnt+0x45f/0x4e0 fs/namespace.c:1186 __cleanup_mnt+0x19/0x20 fs/namespace.c:1193 task_work_run+0x1c6/0x230 ядро/task_work.c:203 exit_task_work включить/linux/task_work.h:39 [inline] do_exit+0x9fb/0x2410 ядро/exit.c:871 do_group_exit+0x210/0x2d0 ядро/exit.c:1021 __do_sys_exit_group kernel/exit.c:1032 [inline] __se_sys_exit_group kernel/exit.c:1030 [inline] __x64_sys_exit_group+0x3f/0x40 ядро/exit.c:1030 x64_sys_call+0x7b4/0x9a0 арка/x86/include/scomed/asm/syscalls_64.h:232 do_syscall_x64 арка/x86/entry/common.c:51 [inline] do_syscal_64+0x4c/0xa0 arch/x86/entry/common.c:81 вход_SYSCALL_64_after_hwframe+0x68/0xd2 RIP: 0033:0x7f28b1b8e169 Код: Невозможно получить доступ к opcode bytes at 0x7f28b1b8e13f. РСП: 002b:00007ffe174710a8 ФЛАГЫ: 00000246 ORIG_RAX: 000000000000e7 RAX: ffffffffffffda RBX: 00007f28b1c10879 RCX: 00007f28b1b8e169 RDX: 000000000000 RSI: 000000000000 RDI: 000000000000 РУП: 00000000000002 Р08: 00007ффе1746ee47 R09: 00007ffe17472360 R10: 00000000000009 R11: 0000000000000246 R12: 00007ffe17472360 R13: 00007f28b1c10854 R14: 000000000000даэ5 R15: 00007ffe17474520 </ЗАЯДВИКА> Распределено с заданием 569: kasan_save_stack mm/kasan/common.c:45 [inline] kasan_set_track+0x4b/0x70 мм/kasan/common.c:52 kasan_save_alloc_info+0x25/0x30 мм/kasan/generic.c:505 __kasan_slab_alloc+0x72/0x80 мм/kasan/common.c:328 kasan_slab_alloc включить/linux/kasan.h:201 [inline] slab_post_post_alloc_hook+0x4f/0x2c0 мм/slab.h:737 slab_alloc_node мм/slub.c:3398 [встроение] slab_alloc мм/slub.c:3406 [в линии] __kmem_cache_allem_lru mm/slub.c:3413 [inline] kmem_cache_alloc_lru+0x104/0x220 мм/slub.c:3429 alloc_inode_sb включая/linux/fs.h:3245 [inline] f2fs_alloc_inode+0x2d/0x340 fs/f2fs/super.c:1419 alloc_inode fs/inode.c:261 [inline] iget_locked+0x186/0x880 fs/inode.c:1373 f2fs_iget+0x55/0x4c60 fs/f2fs/inode.c:483 f2fs_lookup+0x366/0xab0 fs/f2fs/namei.c:487 __lookup_slow+0x2a3/0x3d0 fs/namei.c:1690 lookup_slow+0x57/0x70 fs/namei.c:1707 walk_компонент+0x2e6/0x410 fs/namei ---усеченный---
Продукт повторно использует или ссылается на память после её освобождения. В какой-то момент эта память может быть выделена повторно и сохранена в другом указателе, тогда как исходный указатель на освобождённую память используется вновь. Поскольку теперь по этому адресу может храниться посторонний объект, исходное использование указателя может привести к повреждению памяти или иным непреднамеренным последствиям. Если новая структура данных содержит указатель на функцию, то при исполнении может быть вызван код, контролируемый злоумышленником.
https://cwe.mitre.org/data/definitions/416.html →Открыть в коллекции CWE →| Продукт | Вендор | Статус |
|---|---|---|
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux-5.10 | Отслеживается | |
| linux-5.10 | Отслеживается | |
| linux-5.15 | Отслеживается | |
| linux-6.1 | Отслеживается | |
| linux-6.1 | Отслеживается | |
| linux-6.1 | Отслеживается | |
| linux-allwinner-5.19 | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается |