CVE-2026-93233 in Linux
Tóm tắt
Bởi VulDB • 24/09/2026
Trong kernel Linux, các lỗ hổng sau đây đã được khắc phục:
drm/nouveau/dmem: sửa lỗi tràn số âm (underflow) của callocated khi tách folio lớn
Hàm nouveau_dmem_folio_free() giảm chunk->callocated đi một đơn vị cho mỗi folio được giải phóng, trong khi một thiết bị riêng tư folio lớn (compound) chỉ được tính là một lần khi nó được phân bổ. Khi folio như vậy được tách ra, lõi mm sẽ gọi ->folio_split() (nouveau_dmem_folio_split()) một lần cho mỗi sub-folio mới, nhưng hook này chỉ sửa đổi metadata của sub-folio và để chunk->callocated không thay đổi.
Mỗi sub-folio kết quả sau đó được giải phóng riêng biệt, vì vậy sau khi tách, việc phân bổ đơn lẻ (+1) bị bù bởi N lần giải phóng (-N), khiến chunk->callocated thiếu đi N-1 đơn vị. Trong chu kỳ split/free đầu tiên, nó xảy ra tràn số âm: cảnh báo WARN_ON(!chunk->callocated) được kích hoạt, bộ đếm không dấu bị wrap (vòng lặp) và không bao giờ quay về giá trị 0, do đó chunk không thể được thu hồi nữa (nouveau_dmem_fini() cũng đưa ra cảnh báo về số lượng rò rỉ).
Hãy tính đến sub-folio mới trong hook split, dưới cùng một khóa với nouveau_dmem_folio_free(), để đảm bảo bộ đếm luôn cân bằng.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.