CVE-2025-40223 in Linux
Tóm tắt
Bởi VulDB • 05/09/2026
Trong kernel Linux, các lỗ hổng sau đây đã được khắc phục:
most: usb: Sửa lỗi use-after-free trong hàm hdm_disconnect
Hàm `hdm_disconnect()` gọi đến `most_deregister_interface()`, cuối cùng sẽ hủy đăng ký thiết bị giao diện MOST bằng cách sử dụng `device_unregister(iface->dev)`. Nếu thao tác này làm giảm số tham chiếu (reference count) xuống còn 0, lõi thiết bị có thể gọi ngay lập tức hàm `release_mdev()` trong khi `hdm_disconnect()` vẫn đang thực thi.
Mã cũ cũng giải phóng nhiều bộ nhớ thuộc sở hữu của mdev trong `hdm_disconnect()`, sau đó thực hiện thêm các lệnh gọi `put_device()`. Tùy thuộc vào thứ tự đếm số tham chiếu, điều này có thể dẫn đến lỗi use-after-free hoặc double-free khi hàm `release_mdev()` chạy (hoặc khi các đường hủy đăng ký cũng thực hiện các thao tác put).
Cách sửa là di chuyển việc giải phóng các bộ nhớ thuộc sở hữu của mdev vào trong `release_mdev()`, để chúng chỉ xảy ra đúng một lần khi thiết bị được giải phóng hoàn toàn, đồng thời loại bỏ các lệnh gọi `put_device()` thừa trong `hdm_disconnect()` vì đã không còn cần thiết sau khi thực hiện `device_unregister()` và `most_deregister_interface()`.
Vấn đề này khắc phục lỗi slab-use-after-free do KASAN phát hiện bởi syzbot trong hàm `hdm_disconnect()`. Xem báo cáo và stack traces tại liên kết bug bên dưới.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.