GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux kernel SUNRPC: xdr_buf_trim underflows buf->len, handing XDR decoders a near-UINT_MAX bound

UnscoredCVE-2026-89551Kernel, userspace & hypervisorcurated

Impact

xdr_buf_trim() subtracted the bytes it consumed from buf->len with no clamp. gss_krb5_unwrap_v2() calls it in exactly the state where that breaks: buf->len is a small wire-derived value while the iovec lengths are at page scale, so the subtraction wraps to near UINT_MAX. The wrapped length then propagates as the authoritative stream bound into every downstream XDR decoder, meaning the decoders believe they may read far past the real data. This sits on the same kerberised NFS receive path as the token-length bug in this batch but is a distinct defect with its own fix, and it converts a decode of attacker-supplied bytes into an out-of-bounds read across kernel memory.

Who can reach it

Remote, from a host able to send GSS-wrapped RPC to a kernel NFS server (or to reach a client's RPC reply path). The underflow happens during unwrap, before the decoded content is trusted.

What to do

Apply the stable kernel update that clamps the decrement (buf->len -= min_t(unsigned int, buf->len, len - trim)), then drain and reboot each affected node. Normal-path behaviour is unchanged by the fix, so it is a low-regression-risk backport. No runtime mitigation other than restricting who can send RPC to the server. The record names commits, not fixed releases.

References

Related entries

All Kernel, userspace & hypervisor entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.