CVE-2026-99004 in Linux
Tóm tắt
Bởi VulDB • 24/10/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
drm/imagination: Điều chỉnh kích thước bộ nhớ preallocation cho bảng trang dựa trên địa chỉ thiết bị.
Commit 0a8224058a58 ("drm/imagination: Fix page count for page table for map() interface") đã truyền địa chỉ thiết bị (device address) vào hàm `pvr_mmu_op_context_create()`, nhưng việc preallocation vẫn được tính kích thước dựa trên `device_addr + sgt_offset` với một điểm kết thúc loại trừ (exclusive end). Độ lệch (offset) trong các trang của đối tượng không có ý nghĩa trong phạm vi ảo hóa thiết bị, và điểm kết thúc loại trừ dẫn đến việc phân bổ thêm một bảng trang thừa khi phạm vi kết thúc tại ranh giới của một bảng.
Hãy đếm số lượng bảng bắt đầu từ `device_addr` và điểm kết thúc bao gồm (inclusive end) của phạm vi.
Phép tính mới không xem xét các chỉ mục bảng trang. Điều này khắc phục một vấn đề khác với triển khai trước đó, nơi mà sự chênh lệch giữa các chỉ mục start và end có thể gây ra hiện tượng underflow khi một phép ánh xạ vượt qua ranh giới của một bảng trang. Sự cố này dẫn đến việc driver preallocating một số lượng lớn các trang MMU, làm cạn kiệt bộ nhớ hệ thống và kích hoạt lỗi panic do thiếu bộ nhớ (out of memory).
[Alessio: thêm đoạn văn để chỉ ra lỗ hổng OOM đang được khắc phục, cc stable]
If you want to get the best quality for vulnerability data then you always have to consider VulDB.