All vulnerabilities
CVE-2026-99212

Linux: net/rds: don't let the rdma_cm destroy an id RDS still owns on route failure

Linux LinuxOperating systems
CVSS
NoneNot scored
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)No scoreNo FIRST EPSS score in this snapshot yet
Fixed in91ece3efa064f0b3b3c67b9b045d9eeb4a034e43Also 98d446b7c013254a8a7b49720557676a3a851fdeCVE List
Published28 Oct 2026Updated 28 Oct 2026CVE List

What fixes it

  • 91ece3efa064f0b3b3c67b9b045d9eeb4a034e43LinuxCVE List
  • 98d446b7c013254a8a7b49720557676a3a851fdeLinuxCVE List

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

In the Linux kernel, the following vulnerability has been resolved:

net/rds: don't let the rdma_cm destroy an id RDS still owns on route failure

rds_rdma_cm_event_handler_cmn() hands the return value of rdma_resolve_route() straight back to the rdma_cm on RDMA_CM_EVENT_ADDR_RESOLVED. A synchronous failure there - -ENOMEM from the route work allocation, an SA query that cannot be set up, a RoCE route with no usable device - makes addr_handler() destroy the id the event was delivered on. That id is ic->i_cm_id, and nothing clears the pointer: the connection sits in RDS_CONN_CONNECTING with a freed id until its shutdown calls rdma_disconnect() and rdma_destroy_id() on it.

The ROUTE_RESOLVED case already avoids this: rds_ib_cm_initiate_connect() forces a zero return while ic->i_cm_id == cm_id, as the comment there explains. Do the same here - drop the connection and return 0 - so the id stays RDS's to destroy from the shutdown, and the reconnect gets a fresh one.

Text from CVE List

Affected versions 8

  • Linuxaffected: 55b7ed0b582f9ff4bf3b9b44969cddda8c6763ea before a7c7d0ff876377fea7ae876a28d6df8d9349df57CVE List
  • Linuxaffected: 55b7ed0b582f9ff4bf3b9b44969cddda8c6763ea before 91ece3efa064f0b3b3c67b9b045d9eeb4a034e43CVE List
  • Linuxaffected: 55b7ed0b582f9ff4bf3b9b44969cddda8c6763ea before 98d446b7c013254a8a7b49720557676a3a851fdeCVE List
  • Linuxaffected: 2.6.30CVE List
  • Linuxunaffected: all versions before 2.6.30CVE List
  • Linuxunaffected: 6.18.59 through 6.18.*CVE List
  • Linuxunaffected: 7.2.13 through 7.2.*CVE List
  • Linuxunaffected: 7.3CVE List

References 3