Description
In the Linux kernel, the following vulnerability has been resolved: RDMA/core: Fix potential use after free in ib_free_cq() When accessing a CQ via the netlink path the only synchronization mechanism for the said CQ is rdma_restrack_get(). Currently, rdma_restrack_del() is invoked at the end of ib_free_cq(), which is too late, since by that point vendor-specific resources associated with the CQ might already be freed. This can leave a short window where the CQ remains accessible through restrack, leading to a potential use-after-free. Fix this by moving the rdma_restrack_del() call to be before the freeing of the vendor-specific resources ensuring that the CQ is removed from restrack before its internal resources are released. This guarantees that no new users hold references to a CQ that is in the process of destruction.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
43d781b9fa562f0c6e50f62c870fbfeb9dc85213 to < a804b162f9bc2b38b2ed1b4752eea9faadb1645baffected43d781b9fa562f0c6e50f62c870fbfeb9dc85213 to < 91f8a17a22ab615a03743120e19935e731f28fb9affected43d781b9fa562f0c6e50f62c870fbfeb9dc85213 to < 76f2cb4f721815c3b6262a6dc2151de88646924caffected43d781b9fa562f0c6e50f62c870fbfeb9dc85213 to < b8dcca427096fc9c50f1b376847fea72bc842d31affected43d781b9fa562f0c6e50f62c870fbfeb9dc85213 to < 9abea37942534eeb049335476178696b654b000caffected43d781b9fa562f0c6e50f62c870fbfeb9dc85213 to < 43403fe45379c64fa6276e5a8ede44493e5d2d3daffected43d781b9fa562f0c6e50f62c870fbfeb9dc85213 to < 29dc2f8e1c97372c2871a70088707933515fbd5baffected7ac277a01f9017fcde4f3f81670c995992945433affected093f87dda065e0f618dd577985eccbe85efb9b54affected5.8.17 to < 5.9affected5.9.2 to < 5.10affected
Linux Linux
Default version status: affected
5.10affected0 to < 5.10unaffected5.15.221 to ≤ 5.15.*unaffected6.1.188 to ≤ 6.1.*unaffected6.6.157 to ≤ 6.6.*unaffected6.12.110 to ≤ 6.12.*unaffected6.18.52 to ≤ 6.18.*unaffected7.2.6 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/a804b162f9bc2b38b2ed1b4752eea9faadb1645b ↗
- https://git.kernel.org/stable/c/91f8a17a22ab615a03743120e19935e731f28fb9 ↗
- https://git.kernel.org/stable/c/76f2cb4f721815c3b6262a6dc2151de88646924c ↗
- https://git.kernel.org/stable/c/b8dcca427096fc9c50f1b376847fea72bc842d31 ↗
- https://git.kernel.org/stable/c/9abea37942534eeb049335476178696b654b000c ↗
- https://git.kernel.org/stable/c/43403fe45379c64fa6276e5a8ede44493e5d2d3d ↗
- https://git.kernel.org/stable/c/29dc2f8e1c97372c2871a70088707933515fbd5b ↗