RDMA/rxe: Copy WQE to local buffer in non-SRQ receive path
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.1.178, 6.6.145, 6.12.97, 6.18.40, 7.1.5
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: no
- Technical impact: total
Summary
In the Linux kernel, the following vulnerability has been resolved: RDMA/rxe: Copy WQE to local buffer in non-SRQ receive path For non-SRQ QPs, the responder reads WQE fields directly from the shared queue buffer mapped into userspace. This allows a malicious user to modify fields like num_sge or sge entries while the kernel is processing the WQE, leading to out-of-bounds reads in rxe_resp_check_length() and copy_data(). Introduce get_recv_wqe() that validates num_sge and copies the WQE to a kernel-local buffer before processing, matching the approach already used for SRQ WQEs in get_srq_wqe(). The srq_wqe buffer is reused since SRQ and non-SRQ paths are mutually exclusive per QP.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- Linux Linux
From 8700e3e7c4857d28ebaa824509934556da0b3e76 · fixed in 2e60378fb3c8b51c94103bb40014c4fe38fa5033; From 8700e3e7c4857d28ebaa824509934556da0b3e76 · fixed in fc72fd61cc8b2e2e3e92ae4c0e9cc30c9a7ecb78; From 8700e3e7c4857d28ebaa824509934556da0b3e76 · fixed in 9fa785137303f7109c23dea779b8dedc67c9b531; From 8700e3e7c4857d28ebaa824509934556da0b3e76 · fixed in 5420eebf3b3c162bfaf965f30e61cd1d689e5732; From 8700e3e7c4857d28ebaa824509934556da0b3e76 · fixed in a211b7904aed365e4e4f08a48ec6e6dd1ea7b16b; From 8700e3e7c4857d28ebaa824509934556da0b3e76 · fixed in d6ab440240a04b8737ee4c7bb21af9182e451733
- Linux Linux
4.8
- KernelLinux
From 4.8.0 · fixed in 6.1.178; From 6.2.0 · fixed in 6.6.145; From 6.7.0 · fixed in 6.12.97; From 6.13.0 · fixed in 6.18.40; From 6.19.0 · fixed in 7.1.5