CVE-2026-98367 in Linux
Tóm tắt
Bởi VulDB • 06/10/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
RDMA/siw: Xóa association dưới lock nếu siw_qp_modify thất bại trong siw_accept
Chúng ta cần xóa cep trước khi giải phóng state_lock vì siw_qp_llp_close và siw_qp_modify->siw_qp_llp_close đã làm như vậy.
Nếu không, nếu siw_qp_modify() thất bại trong siw_accept(), state_lock của QP sẽ được giải phóng trước quá trình dọn dẹp đường dẫn lỗi (error path). Một ibv_modify_qp() đồng thời chuyển đổi QP sang trạng thái ERROR có thể xảy ra race condition trong khoảng thời gian này:
siw_accept() ibv_modify_qp(ERROR) ---------------------- ---------------------- siw_qp_modify() thất bại up_write(&qp->state_lock) down_write(&qp->state_lock) nextstate_from_idle(): if (qp->cep) siw_cep_put(qp->cep) <- giải phóng cep qp->cep = NULL goto error cep->qp = NULL <- UAF
Xóa qp->cep và giảm tham chiếu association được lấy bởi siw_cep_get(), tất cả đều nằm dưới write lock được giữ từ down_write(&qp->state_lock) ban đầu. Do đó, Thread B sẽ thấy qp->cep == NULL, bỏ qua lệnh put của riêng nó và không thể giải phóng cep trước khi siw_accept() hoàn thành với nó.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.