RDMA/irdma: Fix double free related to rereg_user_mr
- 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.6.136, 6.12.83, 6.18.24, 6.19.14
- 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/irdma: Fix double free related to rereg_user_mr If IB_MR_REREG_TRANS is set during rereg_user_mr, the umem will be released and a new one will be allocated in irdma_rereg_mr_trans. If any step of irdma_rereg_mr_trans fails after the new umem is allocated, it releases the umem, but does not set iwmr->region to NULL. The problem is that this failure is propagated to the user, who will then call ibv_dereg_mr (as they should). Then, the dereg_mr path will see a non-NULL umem and attempt to call ib_umem_release again. Fix this by setting iwmr->region to NULL after ib_umem_release. Fixed: 5ac388db27c4 ("RDMA/irdma: Add support to re-register a memory region")
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- Linux Linux
From 715fdb3b30541cc8180b7cdc6aa9f8c307afdf25 · fixed in 62298a48f8b8788ad8b8464e6ffdf1ddebd2217e; From 5ac388db27c443dadfbb0b8b23fa7ccf429d901a · fixed in 66964118f1f50ed85001c8fc9f7ab5bbdd021ee0; From 5ac388db27c443dadfbb0b8b23fa7ccf429d901a · fixed in 0f22c32141acdcda266b26cab2b830baf870f3e0; From 5ac388db27c443dadfbb0b8b23fa7ccf429d901a · fixed in 0c5d70bcb9d2275a1c8515a924016fcfeb4ab441; From 5ac388db27c443dadfbb0b8b23fa7ccf429d901a · fixed in 29a3edd7004bb635d299fb9bc6f0ea4ef13ed5a2; From 6.6.120 · fixed in 6.6.136
- Linux Linux
6.7
- KernelLinux
fixed in 6.6.136; From 6.7.0 · fixed in 6.12.83; fixed in 6.18.24; From 6.13.0 · fixed in 6.19.14