Description
In the Linux kernel, the following vulnerability has been resolved: RDMA/rtrs-srv: Fix integer underflow in process_read and process_write usr_len is read from a network-supplied message field (le16_to_cpu) and used to compute data_len = off - usr_len without validating that usr_len <= off. A malicious RDMA client can send usr_len > off causing an integer underflow, resulting in data_len wrapping to a huge size_t value which is then passed to the rdma_ev callback as a memory length, leading to out-of-bounds memory access. Fix by reading and validating usr_len <= off before rtrs_srv_get_ops_ids() in both process_read() and process_write(), ensuring the early return path acquires no reference and has no resource leak.
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
9cb837480424e78ed585376f944088246685aec3 to < 6b1e26e70d7ca9f0906af2283558a530eeb1f066affected9cb837480424e78ed585376f944088246685aec3 to < 2c52b2afded988233cd4ccc185cf5147bbc77a76affected9cb837480424e78ed585376f944088246685aec3 to < b042b4947752df0b3d16e683ac09fb4f7f0e33e0affected9cb837480424e78ed585376f944088246685aec3 to < 24ad03bfeda05fca04c56677e57fd3d6bc3e9978affected9cb837480424e78ed585376f944088246685aec3 to < c76e9123ab91a903396d26e6ab1b5caae5c6b149affected9cb837480424e78ed585376f944088246685aec3 to < 54bf38b27afc08a0eb6b732f9c14eb8a4bcb66b5affected
Linux Linux
Default version status: affected
5.8affected0 to < 5.8unaffected5.15.222 to ≤ 5.15.*unaffected6.1.189 to ≤ 6.1.*unaffected6.6.158 to ≤ 6.6.*unaffected6.12.111 to ≤ 6.12.*unaffected6.18.53 to ≤ 6.18.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/6b1e26e70d7ca9f0906af2283558a530eeb1f066 ↗
- https://git.kernel.org/stable/c/2c52b2afded988233cd4ccc185cf5147bbc77a76 ↗
- https://git.kernel.org/stable/c/b042b4947752df0b3d16e683ac09fb4f7f0e33e0 ↗
- https://git.kernel.org/stable/c/24ad03bfeda05fca04c56677e57fd3d6bc3e9978 ↗
- https://git.kernel.org/stable/c/c76e9123ab91a903396d26e6ab1b5caae5c6b149 ↗
- https://git.kernel.org/stable/c/54bf38b27afc08a0eb6b732f9c14eb8a4bcb66b5 ↗