CVE-2026-72466: xprtrdma: Fix bcall rep leak and unbounded peek

Published Aug 15, 2026
·
Updated

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

xprtrdma: Fix bcall rep leak and unbounded peek

rpcrdmaisbcall() decodes a reply's first words to decide whether the frame is a backchannel call. Two issues in that decode path let a short or malformed reply leak the receive buffer and drain the Receive queue.

First, the speculative peek

p = xdrinlinedecode(xdr, 0); / five p++ reads follow /

asks xdrinlinedecode() for zero bytes, which returns xdr->p without consulting xdr->end. The five subsequent be32 reads can then walk up to 20 bytes past the wire payload into stale regbuf contents and misclassify the reply as a backchannel call.

Second, after the post-peek

p = xdrinlinedecode(xdr, 3 sizeof(p)); if (unlikely(!p)) return true;

the short-header arm returns true without calling rpcrdmabcreceivecall(). The contract with the caller is that a true return transfers ownership of rep to the backchannel path:

rpcrdmareplyhandler() if (rpcrdmaisbcall(rxprt, rep)) return; / bare return, skips outpost / ... outpost: rpcrdmapostrecvs(rxprt, credits + ...);

Because rpcrdmabcreceivecall() never ran, no one took rep, but rpcrdmareplyhandler still bare-returns past rpcrdmarepput() and rpcrdmapostrecvs(). The rep, with its persistently DMA-mapped receive buffer, is orphaned on rballreps and freed only at transport teardown. This completion reposts nothing, so its slot is reclaimed only when a later forward-channel reply reaches outpost and rpcrdmapostrecvs() allocates a fresh rep to backfill; absent that traffic the Receive queue drains and the peer's Sends draw RNR NAKs.

Fix by consulting xdr->end after the zero-length peek so the five be32 reads cannot run unless 20 bytes of wire payload remain. A byte-precise comparison against xdr->end is required because a non-4-aligned receive rounds the stream's word count up past the true payload. Also return false from the short-header arm so the reply falls through the normal outnorqst cleanup chain (rpcrdmarepput() plus rpcrdmapostrecvs()).

Affected Software

1 affected component
Linux Kernel

Event History

Aug 15, 2026
CVE Published
via MITRE·05:57 AM
Data Sourced
via MITRE·05:57 AM
Description
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-72466?

The severity of CVE-2026-72466 is rated at 37.

2

How do I fix CVE-2026-72466?

To fix CVE-2026-72466, ensure your Linux kernel is updated to the latest version where the vulnerability has been addressed.

3

What are the potential impacts of CVE-2026-72466?

CVE-2026-72466 can lead to information leakage from the receive buffer due to issues in the decoding path.

4

Which software is affected by CVE-2026-72466?

CVE-2026-72466 affects the Linux kernel, specifically related to xprtrdma.

5

When was CVE-2026-72466 published?

CVE-2026-72466 was published on August 15, 2026.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203