Out-of-bounds Read in Linux

CVE-2026-31641

In the Linux kernel, the following vulnerability has been resolved: rxrpc: Fix RxGK token loading to check bounds rxrpc_preparse_xdr_yfs_rxgk() reads the raw key length and ticket length from the XDR token as u32 values and passes each through round_up(x, 4) before using the rounded value for validation and allocation. When the raw length is >= 0xfffffffd, round_up() wraps to 0, so the bounds check and kzalloc both use 0 while the subsequent memcpy still copies the original ~4 GiB value, producing a heap buffer overflow reachable from an unprivileged add_key() call. Fix this by: (1) Rejecting raw key lengths above AFSTOKEN_GK_KEY_MAX and raw ticket lengths above AFSTOKEN_GK_TOKEN_MAX before rounding, consistent with the caps that the RxKAD path already enforces via AFSTOKEN_RK_TIX_MAX. (2) Sizing the flexible-array allocation from the validated raw key length via struct_size_t() instead of the rounded value. (3) Caching the raw lengths so that the later field assignments and memcpy calls do not re-read from the token, eliminating a class of TOCTOU re-parse. The control path (valid token with lengths within bounds) is unaffected.

Vulnerability class: Buffer Overflow

Published · last modified .

CVSS v3 metric

CVSS v3 base score 7.8 (High). Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H.

EPSS exploit prediction

EPSS: 0.002 (7.8th percentile), scored .

Very low probability of exploitation in the next 30 days; routine patching cadence is appropriate. 8th percentile — 7.8% of CVEs in the catalogue have a lower EPSS than this one. How to read EPSS.

EPSS trend (30 days)EPSS over the last 30 days for CVE-2026-31641: held from 0.001 to 0.002.

EPSS over last 30 days · oldest: 0.001 · newest: 0.002 · change: +0.000

Affected products

  • Linux — versions 0ca100ff4df64f5d0f6c1dd5080c3e096786bea6, 6.16, 0
  • Linux Kernel — versions 6.16, 7.0

Weakness classification (CWE)

References

Frequently asked questions

What is CVE-2026-31641?
CVE-2026-31641 is a high-severity vulnerability in Linux, classified under Out-of-bounds Read. CVSS score: 7.8/10. Published 2026-04-24.
How severe is CVE-2026-31641?
High severity. CVSS v3 base score is 7.8 out of 10.