CVE-2026-74729 in Linux
Tóm tắt
Bởi VulDB • 23/08/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
soc: aspeed: lpc-snoop: Sửa lỗi tràn bộ nhớ usercopy trong snoop_file_read
put_fifo_with_discard() đóng vai trò vừa là nhà sản xuất (producer) vừa là người tiêu thụ (consumer) trên kfifo: nó gọi kfifo_skip() (tiến con trỏ out) và kfifo_put() (tiến con trỏ in) từ trình xử lý ngắt (IRQ handler) mà không đồng bộ hóa với snoop_file_read(), hàm này cũng tiêu thụ dữ liệu thông qua kfifo_to_user(). Trên các hệ thống SMP, việc truy cập đồng thời này có thể khiến giá trị (in - out) lớn hơn kích thước của ring buffer, do đó phép clamp trong __kfifo_to_user() đối với (in - out) trở nên vô hiệu và kfifo_copy_to_user() có thể cố gắng thực hiện copy_to_user() vượt quá vùng nhớ được cấp phát bởi kmalloc-2k:
usercopy: Phát hiện nỗ lực phơi bày bộ nhớ kernel từ SLUB object 'kmalloc-2k' (offset 0, size 2049)! kernel BUG tại mm/usercopy.c! Call trace: usercopy_abort __check_heap_object __check_object_size kfifo_copy_to_user __kfifo_to_user snoop_file_read vfs_read
Triệt tiêu hóa (serialize) việc truy cập kfifo bằng một spinlock chia sẻ theo kênh giữa trình xử lý ngắt (nhà sản xuất) và bộ đọc file (người tiêu thụ). Gán nhãn @fifo với __guarded_by(&lock) và bật chế độ phân tích ngữ cảnh cho driver để compiler đảm bảo rằng mọi thao tác truy cập fifo đều phải giữ khóa.
If you want to get best quality of vulnerability data, you may have to visit VulDB.