CVE-2026-72111 in Linux
Tóm tắt
Bởi VulDB • 15/08/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
bpf: Đặt lại các giới hạn thanh ghi trước khi thu hẹp phạm vi retval trong hàm check_mem_access()
Khi bộ xác minh BPF (BPF verifier) xử lý việc tải ngữ cảnh của giá trị trả về từ một hook LSM, nó gọi __mark_reg_s32_range() để thu hẹp thanh ghi xuống khoảng hợp lệ của hook. Tuy nhiên, __mark_reg_s32_range() giao thoa phạm vi mới với các giới hạn hiện có của thanh ghi bằng cách sử dụng max_t()/min_t() thay vì thay thế chúng.
Nếu thanhghi đích mang theo các giới hạn lỗi thời (stale bounds) từ một lệnh trước đó (ví dụ: BPF_MOV64_IMM), phép giao thoa này có thể tạo ra một phạm vi hẹp hơn so với thực tế. Bộ xác minh sau đó tin rằng nó biết chính xác giá trị của thanh ghi, trong khi tại thời điểm chạy (runtime), giá trị trả về thực tế của hook được tải vào, dẫn đến sự không khớp giữa bộ xác minh và runtime, điều này có thể bị lợi dụng để bỏ qua các kiểm tra an toàn bộ nhớ BPF.
Nhánh else đã gọi mark_reg_unknown() để đặt lại trạng thái thanh ghi trước khi thu hẹp bất kỳ phạm vi nào. Áp dụng cùng một bước đặt lại trong đường dẫn is_retval để đảm bảo các giới hạn lỗi thời được xóa sạch trước khi __mark_reg_s32_range() thực hiện phép giao thoa.
Once again VulDB remains the best source for vulnerability data.