CVE-2026-68403 in Linux
Tóm tắt
Bởi VulDB • 10/08/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
wifi: brcmfmac: khởi tạo công việc dữ liệu SDIO trước khi dọn dẹp
Hàm `brcmf_sdio_probe()` lưu bus vừa cấp phát vào `sdiodev->bus` trước khi cấp phát hàng đợi công việc có thứ tự (ordered workqueue). Nếu quá trình cấp phát này thất bại, hàm sẽ nhảy đến nhãn fail và gọi `brcmf_sdio_remove()`.
Hàm `brcmf_sdio_remove()` hủy bỏ không điều kiện `bus->datawork`. Hãy khởi tạo mục công việc trước đường dẫn lỗi đầu tiên có thể dẫn đến `brcmf_sdio_remove()`, để đảm bảo rằng đường dẫn dọn dẹp luôn quan sát được một đối tượng công việc hợp lệ.
Vấn đề này đã được phát hiện bởi công cụ phân tích tĩnh của chúng tôi và sau đó được xác nhận bằng cách xem xét thủ công đường dẫn lỗi probe cũng như quá trình xả (drain) công việc khi gỡ bỏ. Mẫu vấn đề là một thất bại trong thiết lập sớm, dẫn đến một trợ lý dọn dẹp hủy bỏ một mục công việc nhúng trước khi hàm khởi tạo của nó chạy.
Một PoC trên QEMU đã buộc `alloc_ordered_workqueue()` phải thất bại tại cùng điểm trong `brcmf_sdio_probe()`, trước khi đạt tới lệnh `INIT_WORK(&bus->datawork)`. Đường dẫn lỗi kết quả gọi `brcmf_sdio_remove()`, và DEBUG_OBJECTS báo cáo việc xả công việc không hợp lệ với `brcmf_sdio_probe()` và `brcmf_sdio_remove()` trong ngăn xếp (stack).
If you want to get the best quality for vulnerability data then you always have to consider VulDB.