{"id":"CVE-2026-72494","state":"PUBLISHED","title":"RDMA/irdma: Replace waitqueue and flag with completion","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nRDMA/irdma: Replace waitqueue and flag with completion\n\nThe driver previously used a waitqueue along with an explicit\nrequest_done flag, but without proper barriers around request_done.\n\nAn earlier patch by Gui-Dong Han <hanguidong02@gmail.com> attempted\nto fix this by adding the missing memory barriers. Rather than\nadding the barriers, this patch replaces the waitqueue+flag with\na completion, which is designed for this exact purpose.","publishedAt":"2026-08-15T05:57:28.280Z","updatedAt":"2026-10-30T12:29:31.628Z","severity":{"score":9.8,"label":"Critical","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"44d9e52977a1b90b0db1c7f8b197c218e9226520","status":"affected","lessThan":"4dcd5afcc3516b07f0a506c338a49bccfd24589b","versionType":"git"},{"version":"44d9e52977a1b90b0db1c7f8b197c218e9226520","status":"affected","lessThan":"7d89bff21c12e543d12ad70cb0103cf815891b24","versionType":"git"},{"version":"44d9e52977a1b90b0db1c7f8b197c218e9226520","status":"affected","lessThan":"8de303efe2ff4fcbf240dfc6eb3469e1e8f18a3f","versionType":"git"},{"version":"44d9e52977a1b90b0db1c7f8b197c218e9226520","status":"affected","lessThan":"706591cccdd3ac2c0ddc8c2ed6c89a6be9865826","versionType":"git"},{"version":"44d9e52977a1b90b0db1c7f8b197c218e9226520","status":"affected","lessThan":"bde37aed0724c0139dea177f3aae8d989b6babb1","versionType":"git"},{"version":"44d9e52977a1b90b0db1c7f8b197c218e9226520","status":"affected","lessThan":"d9c8c45e6d2f438a3c8e643ae78b59454fa0fadd","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/infiniband/hw/irdma/hw.c","drivers/infiniband/hw/irdma/main.h","drivers/infiniband/hw/irdma/utils.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.14","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.14","versionType":"semver"},{"version":"6.1.191","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.160","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.114","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.53","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.5","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/infiniband/hw/irdma/hw.c","drivers/infiniband/hw/irdma/main.h","drivers/infiniband/hw/irdma/utils.c"]}],"references":["https://git.kernel.org/stable/c/4dcd5afcc3516b07f0a506c338a49bccfd24589b","https://git.kernel.org/stable/c/7d89bff21c12e543d12ad70cb0103cf815891b24","https://git.kernel.org/stable/c/8de303efe2ff4fcbf240dfc6eb3469e1e8f18a3f","https://git.kernel.org/stable/c/706591cccdd3ac2c0ddc8c2ed6c89a6be9865826","https://git.kernel.org/stable/c/bde37aed0724c0139dea177f3aae8d989b6babb1","https://git.kernel.org/stable/c/d9c8c45e6d2f438a3c8e643ae78b59454fa0fadd"],"weaknesses":[],"ingestedAt":"2026-10-30T12:48:04.825Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/72xxx/CVE-2026-72494.json","commit":"1f312381e38164a43607eebab851b151dd16861e","baselineCommit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-72494","state":"PUBLISHED","datePublished":"2026-08-15T05:57:28.280Z","dateUpdated":"2026-10-30T12:29:31.628Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-08-09T03:40:39.937Z"},"containers":{"cna":{"title":"RDMA/irdma: Replace waitqueue and flag with completion","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nRDMA/irdma: Replace waitqueue and flag with completion\n\nThe driver previously used a waitqueue along with an explicit\nrequest_done flag, but without proper barriers around request_done.\n\nAn earlier patch by Gui-Dong Han <hanguidong02@gmail.com> attempted\nto fix this by adding the missing memory barriers. Rather than\nadding the barriers, this patch replaces the waitqueue+flag with\na completion, which is designed for this exact purpose."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"44d9e52977a1b90b0db1c7f8b197c218e9226520","status":"affected","lessThan":"4dcd5afcc3516b07f0a506c338a49bccfd24589b","versionType":"git"},{"version":"44d9e52977a1b90b0db1c7f8b197c218e9226520","status":"affected","lessThan":"7d89bff21c12e543d12ad70cb0103cf815891b24","versionType":"git"},{"version":"44d9e52977a1b90b0db1c7f8b197c218e9226520","status":"affected","lessThan":"8de303efe2ff4fcbf240dfc6eb3469e1e8f18a3f","versionType":"git"},{"version":"44d9e52977a1b90b0db1c7f8b197c218e9226520","status":"affected","lessThan":"706591cccdd3ac2c0ddc8c2ed6c89a6be9865826","versionType":"git"},{"version":"44d9e52977a1b90b0db1c7f8b197c218e9226520","status":"affected","lessThan":"bde37aed0724c0139dea177f3aae8d989b6babb1","versionType":"git"},{"version":"44d9e52977a1b90b0db1c7f8b197c218e9226520","status":"affected","lessThan":"d9c8c45e6d2f438a3c8e643ae78b59454fa0fadd","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/infiniband/hw/irdma/hw.c","drivers/infiniband/hw/irdma/main.h","drivers/infiniband/hw/irdma/utils.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.14","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.14","versionType":"semver"},{"version":"6.1.191","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.160","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.114","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.53","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.5","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/infiniband/hw/irdma/hw.c","drivers/infiniband/hw/irdma/main.h","drivers/infiniband/hw/irdma/utils.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/4dcd5afcc3516b07f0a506c338a49bccfd24589b"},{"url":"https://git.kernel.org/stable/c/7d89bff21c12e543d12ad70cb0103cf815891b24"},{"url":"https://git.kernel.org/stable/c/8de303efe2ff4fcbf240dfc6eb3469e1e8f18a3f"},{"url":"https://git.kernel.org/stable/c/706591cccdd3ac2c0ddc8c2ed6c89a6be9865826"},{"url":"https://git.kernel.org/stable/c/bde37aed0724c0139dea177f3aae8d989b6babb1"},{"url":"https://git.kernel.org/stable/c/d9c8c45e6d2f438a3c8e643ae78b59454fa0fadd"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","baseScore":9.8,"baseSeverity":"CRITICAL"},"scenarios":[{"lang":"en","value":"AV:N - Intel irdma CQP completion/wait synchronization is exercised from remote iWARP/RoCE connection management (SYN/listener/IEQ/AEQ) and deferred-completion events, not only local ibverbs; network peers drive the completion side of the race on internet-facing RDMA/NFS/SMB-Direct servers.\nAC:L - Attacker controls both sides by flooding concurrent connections/CQP ops remotely or via concurrent RDMA verbs locally; missing release/acquire ordering on request_done vs compl_info is triggerable at high operation rates without luck-dependent layout.\nPR:N - Remote CM and packet-processing paths issue/wait on CQP before MPA/application auth; local exploitation needs only standard unprivileged /dev/infiniband/uverbs* access (0666 under typical rdma-core udev rules), not init-namespace capabilities.\nUI:N - Exploitation needs only attacker-driven network or verbs traffic against an already-bound RDMA device/listener; no additional victim user action at attack time beyond normal server role.\nS:U - Impact stays within kernel/driver security domain (CQP request objects, NIC PF reset); no VM escape or cross-authority boundary.\nC:H - Without proper barriers the waiter can observe request_done before compl_info stores, return success with stale op_ret_val/error, and recycle the cqp_request while hardware still references scratch → UAF/read primitives.\nI:H - Premature recycle/double-put of dynamic cqp_requests enables attacker-influenced heap reuse; stale callbacks on reused objects and invalid kfree paths provide kernel write/control-flow corruption primitives.\nA:H - Lost request_done causes CQP timeout → ice_rdma_request_reset PF reset; wrong completion state can leave mod_qp_waitq in uninterruptible wait; UAF/panic paths cause kernel crash/hang."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-30T12:29:31.628Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.14","versionEndExcluding":"6.1.191"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.14","versionEndExcluding":"6.6.160"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.14","versionEndExcluding":"6.12.114"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.14","versionEndExcluding":"6.18.53"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.14","versionEndExcluding":"7.1.5"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.14","versionEndExcluding":"7.2"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-72494","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"yes"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2026-10-16T18:50:55.518866Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-16T18:55:26.821Z"}}]}}}