CVE-2026-72491Critical· 9.8▾ MidnightIn the Linux kernel, the following vulnerability has been resolved: net/9p: fix race condition on rdma->state in trans_rdma.c The rdma->state field is modified without holding req_lock in both recv_done() and p9_cm_event_handler(), whi…
▾ Midnight zone — Critical, or high with PoC / in-the-wild
impact 53.9 · likelihood 0.1 · exploitation 0
Need a working PoC? Pro members can cast a request and our team develops one — it lands right here.
Stakeholder-Specific Vulnerability Categorization from CISA's ADP record at CVE.org: whether exploitation is observed, whether an attack can be automated, and how much of the system is at stake. The CVSS score shown above comes from the assigning CNA record, not NVD.
Exploit-prediction probability, daily snapshots since Oct 16.
Disclosure to exploitation, from the record and what we observed since indexing it.
Disclosed via CVEORG
Last analysed / modified upstream
0.7%
In the Linux kernel, the following vulnerability has been resolved:
net/9p: fix race condition on rdma->state in trans_rdma.c
The rdma->state field is modified without holding req_lock in both recv_done() and p9_cm_event_handler(), while rdma_request() accesses the same field under the req_lock spinlock. This inconsistent locking creates a race condition:
recv_done() running in softirq completion context sets rdma->state = P9_RDMA_FLUSHING without acquiring req_lock
p9_cm_event_handler() modifies rdma->state at multiple points (ADDR_RESOLVED, ROUTE_RESOLVED, ESTABLISHED, CLOSED) without req_lock
rdma_request() uses spin_lock_irqsave(&rdma->req_lock, flags) to protect the read-modify-write of rdma->state
The race can cause lost state transitions: recv_done() or the CM event handler could set state to FLUSHING/CLOSED while rdma_request() is concurrently checking or modifying state under the lock, leading to the FLUSHING transition being silently overwritten by CLOSING. This corrupts the connection state machine and can cause use-after-free on RDMA request objects during teardown.
Fix by adding req_lock protection to all rdma->state modifications in recv_done() and p9_cm_event_handler(), matching the pattern already used in rdma_request(). Use spin_lock_irqsave/spin_unlock_irqrestore in the CM event handler since it can race with recv_done() which runs in softirq context.
Tested with a kernel module that races two threads (simulating rdma_request and recv_done/CM handler) on rdma->state with proper locking: 5.5M+ FLUSHING writes over 27M iterations with 0 lost transitions.
Linux >= 473c7dd1d7b59ff8f88a5154737e3eac78a96e5b < 4cee2b8766045059d5e0b8114837b4a8efe827acLinux >= 473c7dd1d7b59ff8f88a5154737e3eac78a96e5b < 5424138848eb7d7d8a7196676e90a2cbf2142454Linux >= 473c7dd1d7b59ff8f88a5154737e3eac78a96e5b < 3970a19a80de530b801b6256354d4a529a9a2d6cLinux >= 473c7dd1d7b59ff8f88a5154737e3eac78a96e5b < 8aadc136d8e8d8fc95d7982d213cfe2234dfcf2bLinux >= 473c7dd1d7b59ff8f88a5154737e3eac78a96e5b < 151f8cf5b23d8a534d884432a82a6d54d5a61989Linux >= 473c7dd1d7b59ff8f88a5154737e3eac78a96e5b < 13bf9879b778b2f4b260b45bed18f31806120d1eLinux >= 473c7dd1d7b59ff8f88a5154737e3eac78a96e5b < ebbcbe5c0db215feecc17def06178da443f4eea6Linux >= 473c7dd1d7b59ff8f88a5154737e3eac78a96e5b < 7d54894a1ee265a72d70f7cae1da6cc774cccc71Linux 3479b3c35e82ed10aa0ca2ee9e78c4eded06ba62Linux c01ddaa54d7411e964ffd250c018d8469c5852f2Linux 9e69c673fe077b8dc491cd8406c9bdcb1f76dee2Linux e48e7e27e4dfd00c81e0381e7cee610cce021452Linux >= 4.4.185 < 4.5Linux >= 4.9.185 < 4.10Linux >= 4.14.132 < 4.15Linux >= 4.19.57 < 4.20Linux 4.20Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
Connected by shared product, vendor, weakness, or advisory.
CVE-2026-99092Noneriscv: patch: fix handling of bpf-jit execmem addresses
CVE-2026-99089NoneASoC: samsung: i2s: enable op_clk in probe to balance runtime PM
CVE-2026-99093Nonemm: don't schedule deferred kernel page table freeing while booting
CVE-2026-99088Nonenet: openvswitch: validate transport header presence in set_ipv6_addr
CVE-2026-99094NoneBluetooth: btintel_pcie: fix TX descriptor bounds check
CVE-2026-99090Nonedrm/amdgpu: serialize vblank counter reads against GPU reset