CVE-2026-74336 in Linux
Tóm tắt
Bởi VulDB • 15/08/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
wifi: mac80211: giới hạn vòng lặp duyệt qua S1G TIM PVB dựa trên phần tử TIM
Hàm `ieee80211_s1g_check_tim()` phân tích cú pháp Dải ảo từng phần (Partial Virtual Bitmap - PVB) của một phần tử TIM nhận được. Phần tử TIM được truyền vào dưới dạng tải trọng của phần tử: hàm `ieee802_11_parse_elems_full()` lưu trữ `elems->tim = elem->data` và `elems->tim_len = elem->datalen` (net/mac80211/parse.c), do đó các byte hợp lệ nằm trong khoảng `[tim, tim + tim_len)`.
Khi duyệt qua các khối đã mã hóa, hàm này truyền cho bộ duyệt một giá trị kết thúc là `(const u8 *)tim + tim_len + 2`, tức là hai byte sau khi kết thúc phần tử. Hàm `ieee80211_s1g_find_target_block()` lặp lại trong khi điều kiện `(ptr + 1 <= end)` đúng và giải tham chiếu con trỏ `ptr` (và các hàm trợ giúp per-mode `ieee80211_s1g_len_*()` đọc giá trị tại `*ptr`), do đó nó có thể đọc lên đến hai byte vượt quá phần tử TIM -- một lỗi đọc ngoài vùng nhớ (out-of-bounds read) vào dữ liệu skb/heap lân cận khi TIM là phần tử cuối cùng trong khung. Giá trị +2 dường như nhằm tính toán cho tiêu đề id/dài của phần tử, nhưng `tim` đã trỏ đến phía sau tiêu đề đó tại tải trọng của phần tử, do đó giá trị cộng thêm này là sai.
Truyền đúng điểm kết thúc của phần tử vào: `(const u8 *)tim + tim_len`.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.