CVE-2026-72473

CRITICALPre-NVD 9.89.8
EchelonGraph scoreHIGH confidence

Score 9.8 from GitHub Security Advisory (severity: CRITICAL) published 2026-08-15. a secondary CVSS source baseline 9.8; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, secondary
Trending — 5 sources updated this week
9.8EG
EchelonGraph verdictPlan a fixSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS PROB: 1%CVSS: 9.8Exploit: None knownExposed: 0

No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.

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

xprtrdma: Decouple req recycling from RPC completion

rl_kref formerly served two distinct lifetimes through a single refcount: it gated when a Reply could wake its RPC task, and it gated when an rpcrdma_req could return to its free pool. The marshal path took the Send-side reference only when SGEs needed DMA-unmap (sc_unmap_count > 0), which made a Send carrying only pre-registered buffers an exception: the Reply handler dropped rl_kref from 1 to 0 and freed the req while the HCA might still be DMA-reading from its send buffer.

Give rl_kref a narrower job. The RPC layer takes one reference when slot allocation hands a req out. rpcrdma_prepare_send_sges() takes a Send-side reference unconditionally after WR preparation succeeds. xprt_rdma_free_slot() and xprt_rdma_bc_free_rqst() drop the RPC-layer reference; rpcrdma_sendctx_unmap() drops the Send-side reference. The req returns to its free pool only after both owners have signed off.

The existing kref_init(&req->rl_kref) call in rpcrdma_prepare_send_sges() is removed. Initialization moves to the slot-allocation paths (xprt_rdma_alloc_slot and rpcrdma_bc_rqst_get), and the release callback re-arms rl_kref before the req returns to a free pool. A re-init in the marshal path would discard the RPC-layer reference that already exists on entry.

Three invariants follow:

  • Any rpcrdma_req held by an rpc_rqst has rl_kref >= 1.
xprt_rdma_alloc_slot(), rpcrdma_bc_rqst_get(), and the backlog-wake branch in xprt_rdma_alloc_slot() each kref_init rl_kref before publishing the req. Without this invariant, an RPC task that aborts between slot allocation and marshal (gss_refresh failure or signal during call_connect, for example) would drive xprt_release() -> xprt_rdma_free_slot() -> kref_put against a refcount of zero, saturating refcount_t and stranding the slot.
  • The Send-side reference is taken only after WR prep
succeeds. A mapping failure in rpcrdma_prepare_send_sges() runs rpcrdma_sendctx_cancel(), which DMA-unmaps the sendctx and clears sc_req without touching rl_kref. The sendctx ring walks in rpcrdma_sendctx_put_locked() and rpcrdma_sendctxs_destroy() skip entries with sc_req == NULL, so a burst of -EIO marshal failures cannot hold reqs off rb_send_bufs.
  • The release callback re-arms rl_kref so the next consumer
enters with the invariant satisfied.

Replies now complete the RPC directly. rpcrdma_reply_handler() calls rpcrdma_complete_rqst() in place of kref_put on the non-LocalInv branch. The LocalInv branch already completes the RPC from frwr_unmap_async() and is unaffected.

Because Send-side references can now outlive RPC completion, connection teardown drains sendctx entries whose unsignaled Sends never had a later signaled completion to walk the ring. rpcrdma_sendctxs_destroy() walks the active range and runs rpcrdma_sendctx_unmap() on each entry with a non-NULL sc_req before the request buffers are reset, and is moved ahead of rpcrdma_reqs_reset() in rpcrdma_xprt_disconnect() so the reqs are still in their pre-reset state when the Send-side refs are released.

The drain creates a teardown-ordering hazard on the backchannel path. With the new lifetime, releasing a bc_prealloc req from rpcrdma_req_release() re-adds it to bc_pa_list. The disconnect in xprt_rdma_destroy() runs after xprt_destroy_backchannel() has already emptied bc_pa_list, so the drained reqs would otherwise leak. xprt_rdma_destroy() now runs xprt_rdma_bc_destroy(xprt, 0) a second time after the disconnect to reclaim them.

CVSS v3
9.8
EG Score
9.8(high)
EG Risk
49(Track)
EG Risk 49/100SSVC: Track

EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).

How it’s computed
Severity98% × 45%
Exploitation1% × 40%
Automatability30% × 15%
Action: Routine — remediate on your standard cadence.
EPSS PROB
1%
EPSS %ILE
49%
KEV
Not listed

Published

August 15, 2026

Last Modified

August 17, 2026

Advisory Details (6)

Auto-updated Aug 17, 2026
No patch confirmed yet.
generic

xprtrdma: Decouple req recycling from RPC completion - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/e786233d2e0bbff9a82e43f02ae3a46ab4b08ec3
generic

xprtrdma: Decouple req recycling from RPC completion - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/e7632089523acddcdd8f090ad19e96fb3107b04d
generic

xprtrdma: Decouple req recycling from RPC completion - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/9f3d9b68c1c6c51746e5ecdb52b2e6a2901de37e
generic

xprtrdma: Decouple req recycling from RPC completion - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/8203f760a72bd39a3b66bc4eff0aa272a99fe22b
generic

xprtrdma: Decouple req recycling from RPC completion - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/740975054a1970c0cf15f70ac39724a064f45847
generic

xprtrdma: Decouple req recycling from RPC completion - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/53442c7d0c888e51b8bc3da196970a669cc6b294

Vendor Advisories for CVE-2026-72473(1)

These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.

Data Freshness Timeline

(refreshed 47× in last 7d / 47× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

  1. 2026-08-21 01:18 UTCEG score recompute
  2. 2026-08-21 01:18 UTCGHSA enrichment
  3. 2026-08-20 22:56 UTCEPSS rescore
  4. 2026-08-20 21:33 UTCGHSA enrichment
  5. 2026-08-20 17:48 UTCGHSA enrichment
  6. 2026-08-20 14:03 UTCGHSA enrichment
  7. 2026-08-20 09:27 UTCGHSA enrichment
  8. 2026-08-20 05:42 UTCGHSA enrichment
  9. 2026-08-20 01:57 UTCGHSA enrichment
  10. 2026-08-19 22:12 UTCGHSA enrichment
  11. 2026-08-19 18:22 UTCEG score recompute
  12. 2026-08-19 18:22 UTCGHSA enrichment
  13. 2026-08-19 17:04 UTCEPSS rescore
  14. 2026-08-19 13:31 UTCGHSA enrichment
  15. 2026-08-19 09:46 UTCGHSA enrichment
  16. 2026-08-19 06:00 UTCGHSA enrichment
  17. 2026-08-19 02:13 UTCGHSA enrichment
  18. 2026-08-18 22:28 UTCGHSA enrichment
  19. 2026-08-18 18:43 UTCGHSA enrichment
  20. 2026-08-18 14:58 UTCEG score recompute
  21. 2026-08-18 14:58 UTCGHSA enrichment
  22. 2026-08-18 13:49 UTCEPSS rescore
  23. 2026-08-18 13:49 UTCEPSS rescore
  24. 2026-08-18 10:00 UTCGHSA enrichment
  25. 2026-08-18 06:15 UTCGHSA enrichment
Show 22 more
  1. 2026-08-18 02:29 UTCGHSA enrichment
  2. 2026-08-17 22:44 UTCGHSA enrichment
  3. 2026-08-17 18:58 UTCGHSA enrichment
  4. 2026-08-17 13:57 UTCEG score recompute
  5. 2026-08-17 13:57 UTCGHSA enrichment
  6. 2026-08-17 13:47 UTCEPSS rescore
  7. 2026-08-17 10:12 UTCEG score recompute
  8. 2026-08-17 10:12 UTCGHSA enrichment
  9. 2026-08-17 06:27 UTCEG score recompute
  10. 2026-08-17 06:27 UTCGHSA enrichment
  11. 2026-08-17 05:57 UTCEG score recompute 9.80
  12. 2026-08-17 05:57 UTCGHSA enrichment
  13. 2026-08-17 05:54 UTCMITRE cvelistV5CVSS v3 → 9.8 · severity → CRITICAL
  14. 2026-08-17 05:28 UTCEG score recompute
  15. 2026-08-17 05:28 UTCGHSA enrichment
  16. 2026-08-17 05:24 UTCMITRE cvelistV5
  17. 2026-08-16 14:56 UTCEPSS rescore
  18. 2026-08-16 14:56 UTCEPSS rescore
  19. 2026-08-16 02:15 UTCEPSS rescore
  20. 2026-08-15 06:23 UTCNVD update
  21. 2026-08-15 06:03 UTCEG score recompute
  22. 2026-08-15 06:02 UTCMITRE cvelistV5first tracked

Frequently asked(5)

What is CVE-2026-72473?
CVE-2026-72473 is a critical vulnerability published on August 15, 2026. In the Linux kernel, the following vulnerability has been resolved: xprtrdma: Decouple req recycling from RPC completion rl_kref formerly served two distinct lifetimes through a single refcount: it gated when a Reply could wake its RPC task, and it gated when an rpcrdma_req could return to its free…
When was CVE-2026-72473 disclosed?
CVE-2026-72473 was first published in the National Vulnerability Database on August 15, 2026, with the most recent update on August 17, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-72473 actively exploited?
CVE-2026-72473 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 1% probability of exploitation in the next 30 days, which ranks it in the top 51.0% of all scored CVEs.
What is the CVSS score of CVE-2026-72473?
CVE-2026-72473 has a CVSS v3 base score of 9.8 (NVD).
How do I remediate CVE-2026-72473?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2026-72473, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

Explore the affected products and dependency analysis for CVE-2026-72473

Explore →

Is Your Infrastructure Affected by CVE-2026-72473?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.