{"id":25881,"date":"2026-09-18T04:32:01","date_gmt":"2026-09-17T20:32:01","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-92512"},"modified":"2026-09-18T04:32:01","modified_gmt":"2026-09-17T20:32:01","slug":"cve-2026-92512","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-92512","title":{"rendered":"CVE-2026-92512 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nRDMA\/core: Fix use af"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>RDMA\/core: Fix use after free in ib_query_qp()<\/p>\n<p>When querying a QP via the netlink flow the only synchronization<br \/>\nmechanism for the said QP is rdma_restrack_get(), meanwhile during the<br \/>\nQP destroy path rdma_restrack_del() is called at the end of the<br \/>\nib_destroy_qp_user() function which is too late, since by then the<br \/>\nvendor specific resources for said QP would already be destroyed, and<br \/>\ntill the rdma_restrack_del() is called this QP can still be accessed,<br \/>\nwhich could cause the use after free below.<\/p>\n<p>Fix this by moving the rdma_restrack_begin_del() to the start of the<br \/>\nib_destroy_qp_user(), which in turn waits for all usages of the QP to be<br \/>\ndone then removes it from the database to prevent access to it while it<br \/>\nis being destroyed.<\/p>\n<p>RIP: 0010:ib_query_qp+0x15\/0x50 [ib_core]<br \/>\nCode: 48 83 05 5d 8e b9 ff 01 eb b5 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 c7 46 40 00 00 00 00 48 c7 46 78 00 00 00 00  8b 07 48 8b 80 88 01 00 00 48 85 c0 74 1a 48 83 05 54 91 b9 ff<br \/>\nRSP: 0018:ff11000108a8f2f0 EFLAGS: 00010202<br \/>\nRAX: 0000000000000000 RBX: ff11000108a8f370 RCX: ff11000108a8f370<br \/>\nRDX: 0000000000000000 RSI: ff11000108a8f3d8 RDI: 0000000000000000<br \/>\nRBP: ff1100010de5a000 R08: 0000000000000e80 R09: 0000000000000004<br \/>\nR10: ff110001057a604c R11: 0000000000000000 R12: ff11000108a8f370<br \/>\nR13: ff110001090e8000 R14: 0000000000000000 R15: ff110001057a602c<br \/>\nFS:  00007f2ffd8db6c0(0000) GS:ff110008dc90b000(0000) knlGS:0000000000000000<br \/>\nCS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033<br \/>\nCR2: 0000000000000000 CR3: 000000010b9a7004 CR4: 0000000000373eb0<br \/>\nCall Trace:<\/p>\n<p> mlx5_ib_gsi_query_qp+0x21\/0x50 [mlx5_ib]<br \/>\n mlx5_ib_query_qp+0x689\/0x9d0 [mlx5_ib]<br \/>\n ib_query_qp+0x35\/0x50 [ib_core]<br \/>\n fill_res_qp_entry_query.isra.0+0x47\/0x280 [ib_core]<br \/>\n ? __wake_up+0x40\/0x50<br \/>\n ? netlink_broadcast_filtered+0x15a\/0x550<br \/>\n ? kobject_uevent_env+0x562\/0x710<br \/>\n ? ep_poll_callback+0x242\/0x270<br \/>\n ? __nla_put+0xc\/0x20<br \/>\n ? nla_put+0x28\/0x40<br \/>\n ? nla_put_string+0x2e\/0x40 [ib_core]<br \/>\n fill_res_qp_entry+0x138\/0x190 [ib_core]<br \/>\n res_get_common_dumpit+0x4a5\/0x800 [ib_core]<br \/>\n ? fill_res_qp_entry_query.isra.0+0x280\/0x280 [ib_core]<br \/>\n nldev_res_get_qp_dumpit+0x1e\/0x30 [ib_core]<br \/>\n netlink_dump+0x16f\/0x450<br \/>\n __netlink_dump_start+0x1ce\/0x2e0<br \/>\n rdma_nl_rcv_msg+0x1d3\/0x330 [ib_core]<br \/>\n ? nldev_res_get_qp_raw_dumpit+0x30\/0x30 [ib_core]<br \/>\n rdma_nl_rcv_skb.constprop.0.isra.0+0x108\/0x180 [ib_core]<br \/>\n rdma_nl_rcv+0x12\/0x20 [ib_core]<br \/>\n netlink_unicast+0x255\/0x380<br \/>\n ? __alloc_skb+0xfa\/0x1e0<br \/>\n netlink_sendmsg+0x1f3\/0x420<br \/>\n __sock_sendmsg+0x38\/0x60<br \/>\n ____sys_sendmsg+0x1e8\/0x230<br \/>\n ? copy_msghdr_from_user+0xea\/0x170<br \/>\n ___sys_sendmsg+0x7c\/0xb0<br \/>\n ? __futex_wait+0x95\/0xf0<br \/>\n ? __futex_wake_mark+0x40\/0x40<br \/>\n ? futex_wait+0x67\/0x100<br \/>\n ? futex_wake+0xac\/0x1b0<br \/>\n __sys_sendmsg+0x5f\/0xb0<br \/>\n do_syscall_64+0x55\/0xb90<br \/>\n entry_SYSCALL_64_after_hwframe+0x4b\/0x53<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>RDMA\/core: Fix use after free in ib_query_qp()<\/p>\n<p>When querying a QP via the netlink flow the only synchronization<br \/>\nmechanism for the <\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-25881","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/25881","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=25881"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=25881"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=25881"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}