Executive brief
A vulnerability was identified in the Linux kernel's Reliable Datagram Sockets (RDS) protocol, which is used for high-performance data transfers. Under certain conditions, a failure to establish a connection during memory registration could trigger a system warning or instability. This could potentially allow a local user to cause a denial of service or impact system operations.
Technical details
The vulnerability exists in the net/rds component of the Linux kernel. Specifically, in the __rds_rdma_map function, if a connection is not yet established, the get_mr() call fails. The fix involves ensuring rds_conn_connect_if_down is triggered when a mapping failure occurs due to a missing device (-ENODEV), ensuring the connection is ready for subsequent retries. An attacker with local access could potentially exploit this logic error to trigger kernel warnings or cause a denial of service. The issue has been patched across multiple stable kernel branches.
Affected products
- Linux Linux Kernel 3.18.85 to 6.7.10
Timeline
- 2024-03-05: patched: Initial patch authored by Edward Adam Davis
- 2024-05-01: disclosed: CVE published to NVD
References
- https://git.kernel.org/stable/c/2b505d05280739ce31d5708da840f42df827cb85
- https://git.kernel.org/stable/c/786854141057751bc08eb26f1b02e97c1631c8f4
- https://git.kernel.org/stable/c/907761307469adecb02461a14120e9a1812a5fb1
- https://git.kernel.org/stable/c/997efea2bf3a4adb96c306b9ad6a91442237bf5b
- https://git.kernel.org/stable/c/998fd719e6d6468b930ac0c44552ea9ff8b07b80
- https://git.kernel.org/stable/c/9dfc15a10dfd44f8ff7f27488651cb5be6af83c2
- https://git.kernel.org/stable/c/b562ebe21ed9adcf42242797dd6cb75beef12bf0