CVE-2022-49892 in Linuxthông tin

Tóm tắt

Bởi VulDB • 01/06/2026

Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:

ftrace: Sửa lỗi use-after-free cho ftrace_ops động

KASAN đã báo cáo một lỗi use-after-free liên quan đến ftrace ops [1]. Lỗi này được phát hiện từ vmcore, cho thấy perf đã đăng ký hai ops có cùng nội dung một cách liên tiếp, cả hai đều là ops động. Sau khi hủy đăng ký ops thứ hai, một lỗi use-after-free đã xảy ra.

Trong hàm ftrace_shutdown(), khi ops thứ hai bị hủy đăng ký, lệnh FTRACE_UPDATE_CALLS không được đặt vì vẫn còn một ops khác đang được bật với cùng nội dung. Ngoài ra, cả hai ops đều là ops động và hàm callback của ftrace là ftrace_ops_list_func, do đó lệnh FTRACE_UPDATE_TRACE_FUNC cũng sẽ không được đặt. Cuối cùng, giá trị của 'command' sẽ là 0 và ftrace_shutdown() sẽ bỏ qua bước đồng bộ hóa rcu.

Tuy nhiên, ftrace có thể đang được kích hoạt. Khi ops được giải phóng, một CPU khác có thể đang truy cập vào ops. Hãy thêm bước đồng bộ hóa bị thiếu để khắc phục vấn đề này.

[1]
BUG: KASAN: use-after-free trong __ftrace_ops_list_func kernel/trace/ftrace.c:7020 [inline]
BUG: KASAN: use-after-free trong ftrace_ops_list_func+0x100/0x120 kernel/trace/ftrace.c:7020 Read of size 8 tại addr ffff888100000000, offset +0 tại ffff888100000000

Được cấp phát bởi task 14445: kasan_save_stack+0x24/0x50 mm/kasan/common.c:48 kasan_set_track mm/kasan/common.c:56 [inline]
__kasan_kmalloc mm/kasan/common.c:479 [inline]
__kasan_kmalloc.constprop.0+0x110/0x13c mm/kasan/common.c:449 kasan_kmalloc+0xc/0x14 mm/kasan/common.c:493 kmem_cache_alloc_trace+0x440/0x924 mm/slub.c:2950 kmalloc include/linux/slab.h:563 [inline]
kzalloc include/linux/slab.h:675 [inline]
perf_event_alloc.part.0+0xb4/0x1350 kernel/events/core.c:11230 perf_event_alloc kernel/events/core.c:11733 [inline]
__do_sys_perf_event_open kernel/events/core.c:11831 [inline]
__se_sys_perf_event_open+0x550/0x15f4 kernel/events/core.c:11723 __arm64_sys_perf_event_open+0x6c/0x80 kernel/events/core.c:11723 [...]

Được giải phóng bởi task 14445: kasan_save_stack+0x24/0x50 mm/kasan/common.c:48 kasan_set_track+0x24/0x34 mm/kasan/common.c:56 kasan_set_free_info+0x20/0x40 mm/kasan/generic.c:358 __kasan_slab_free.part.0+0x11c/0x1b0 mm/kasan/common.c:437 __kasan_slab_free mm/kasan/common.c:445 [inline]
kasan_slab_free+0x2c/0x40 mm/kasan/common.c:446 slab_free_hook mm/slub.c:1569 [inline]
slab_free_freelist_hook mm/slub.c:1608 [inline]
slab_free mm/slub.c:3179 [inline]
kfree+0x12c/0xc10 mm/slub.c:4176 perf_event_alloc.part.0+0xa0c/0x1350 kernel/events/core.c:11434 perf_event_alloc kernel/events/core.c:11733 [inline]
__do_sys_perf_event_open kernel/events/core.c:11831 [inline]
__se_sys_perf_event_open+0x550/0x15f4 kernel/events/core.c:11723

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

chịu trách nhiệm

Linux

Đặt trước

01/05/2025

Tiết lộ

01/05/2025

Kiểm duyệt

được chấp nhận

EPSS

0.00188

KEV

không

Các hoạt động

rất thấp

Nguồn

Want to know what is going to be exploited?

We predict KEV entries!