7.8

CVE-2026-31641: rxrpc: Fix RxGK token loading to check bounds

Modified
AliasesUBUNTU-CVE-2026-31641DEBIAN-CVE-2026-31641
Published 24-04-2026Last modified 20-08-2026

Vulnerability summary

CVE-2026-31641 is a high (CVSS 7.8) Out-of-bounds Read vulnerability in linux. EPSS estimates a 0.14% chance of exploitation in the next 30 days, higher than 3.6% of scored vulnerabilities.

Priority
Routine

Not severe (CVSS 7.8, local access); no exploitation reported by the 5 checked sources

Source freshness unavailable

How is this decided?
CVSS score
7.8/10
010
High · v3.1 (CVE.org)
EPSS score
0.14%
0%100%
Low · -0.05 pp in 30 days
KEVNot listedNot listed by any tracked catalog.
RansomwareNot flaggedNo ransomware use recorded.
Public exploits0No public exploits recorded

Advisory lineage

Upstream 0 · Downstream 2

Timeline

  1. 24-04-2026
    PublishedVulnerability first disclosed.
  2. 20-08-2026
    Last modifiedVulnerability information updated.

Description

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.

CVSS metrics

5 scores · 4 sources · 2 versions

EPSS trend

Probability

0.14%

Chance of exploitation in the next 30 days

Percentile

4%

Versus all other CVEs

30-day change

Decrease -0.05 pp

From 0.19% on 04-10-2026

04-10-202603-11-2026

Known exploited

Compare KEV catalogs
CISA KEV

Not in the CISA KEV catalog.

ENISA CNW

Not in the ENISA CNW catalog.

CIRCL

Not in the CIRCL catalog.

Public exploits

0 found

No public exploits indexed.

Weaknesses

CWE · root cause

Affected systems

Version check

Known conditions: local access, low-privilege account, no user interaction (CVSS vector). Other conditions: not stated in public data.

Ubuntu105 products
  • linuxAll versions (No fix recorded)
  • linux-allwinner-5.19All versions (No fix recorded)
  • linux-awsAll versions (No fix recorded)
  • linux-aws-5.0All versions (No fix recorded)
  • linux-aws-5.11All versions (No fix recorded)
Linux2 products
  • linux≥ 0ca100ff4df64f5d0f6c1dd5080c3e096786bea6, < 3e04596cba8a86cbff9c3f4bf0a524a3a488773c | ≥ 0ca100ff4df64f5d0f6c1dd5080c3e096786bea6, < 49875b360c2b83a3c226e189c502e501d83e6445 | ≥ 0ca100ff4df64f5d0f6c1dd5080c3e096786bea6, < d179a868dd755b0cfcf7582e00943d702b9943b8 | 6.16
  • linux_kernelEOL≥ 6.16.1, < 6.18.23 | ≥ 6.19, < 6.19.13 | 6.16 | 7.0:rc1 | 7.0:rc2 | 7.0:rc3 | 7.0:rc4 | 7.0:rc5 | 7.0:rc6 | 7.0:rc7
Debian1 product
  • linux< 6.19.13-1

3 vendors · 108 products

References

12 links
Show all 12 references