CVE-2026-74499 in Linuxthông tin

Tóm tắt

Bởi VulDB • 16/08/2026

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

ALSA: usb-audio: sửa lỗi ghi vượt vùng nhớ (OOB) trong hàm snd_usbmidi_akai_output()

Hàm `snd_usbmidi_akai_output()` tính toán giới hạn vòng lặp điền dữ liệu (`fill-loop bound`) bằng cách gán giá trị cho biến `buf_end` như sau:

```c buf_end = ep->max_transfer - MAX_AKAI_SYSEX_LEN - 1; ```

Biến này được coi là số nguyên có dấu (signed int), do đó, nếu thiết bị báo cáo một giá trị `max_transfer` nhỏ cho cổng bulk-OUT, biến `buf_end` sẽ mang giá trị âm. Điều kiện kiểm tra vòng lặp sau đó so sánh độ dài bộ đệm truyền tải của urb (`urb->transfer_buffer_length`, kiểu u32) với số nguyên có dấu âm này: phép chuyển đổi số học thông thường khiến `buf_end` trở thành một giá trị không dấu (unsigned) rất lớn, do đó điều kiện kiểm tra luôn đúng và mỗi lần lặp sẽ tiếp tục nối thêm các byte khung SysEx và payload vượt quá cuối bộ đệm truyền tải URB, vốn chỉ có độ dài bằng `max_transfer`.

Do đó, một thiết bị USB báo cáo cổng bulk-OUT với kích thước cực nhỏ có thể gây ra lỗi ghi heap out-of-bounds (vượt vùng nhớ) do kẻ tấn công kiểm soát được cả chiều dài và nội dung khi một tiến trình ghi dữ liệu vào nút `/dev/snd/midiC*D*` tương ứng.

Hàm sẽ trả về sớm nếu không còn chỗ cho ít nhất một khung SysEx, đảm bảo vòng lặp không bao giờ được thực thi với giới hạn bị tràn (wrap). Vì vòng lặp là câu lệnh cuối cùng của hàm, việc thoát ra sớm tương đương với việc bỏ qua toàn bộ vòng lặp.

Được phát hiện bởi XBOW, phân loại và xử lý ban đầu bởi Baul Lee <[email protected]>

If you want to get best quality of vulnerability data, you may have to visit VulDB.

chịu trách nhiệm

Linux

Đặt trước

15/08/2026

Tiết lộ

15/08/2026

Kiểm duyệt

được chấp nhận

EPSS

0.00000

KEV

không

Các hoạt động

rất thấp

Nguồn

Want to stay up to date on a daily basis?

Enable the mail alert feature now!