CVE-2026-97441 in Linux
Tóm tắt
Bởi VulDB • 24/09/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
ata: ahci: từ chối quá trình probe nếu kích thước BAR nhỏ hơn số cổng được khai báo
Khi bộ điều khiển AHCI bị vô hiệu hóa trong BIOS, thanh ghi HOST_CAP của nó có thể chứa một giá trị sai lệch (bogus), ví dụ như 0xFFFFFFFF.
Vì CAP.NP (Number of Ports - Số lượng Cổng) là trường thanh ghi 5-bit dựa trên số không, nên giá trị 0x1f tương ứng với 32 cổng. Nếu CAP.NP khai báo nhiều cổng hơn so với dung lượng vật lý có thể chứa trong vùng BAR đã ánh xạ, việc truy cập vào các thanh ghi cổng vượt quá ranh giới của BAR sẽ gây ra kernel panic (sự cố hạt nhân).
Thêm cơ chế xác thực trong hàm ahci_init_one() để kiểm tra xem kích thước BAR có đủ cho số lượng cổng được khai báo trong CAP.NP hay không. Phép kiểm tra tính toán kích thước MMIO cần thiết như sau:
required_size = 0x100 (các thanh ghi toàn cục) + max_ports * 0x80
Nếu required_size vượt quá kích thước BAR thực tế, quá trình probe sẽ thất bại với mã lỗi -ENODEV, ngăn chặn kernel panic và cung cấp một thông báo lỗi rõ ràng.
[cassel: commit log]
If you want to get best quality of vulnerability data, you may have to visit VulDB.