KernelScan.io

HIGH

rxrpc Ticket Validation

CVE-2026-31696

CVSS 7.8 / 10.0 NVD

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

KernelScan AI3.3LOW

01

In the Linux kernel, the following vulnerability has been resolved: rxrpc: Fix missing validation of ticket length in non-XDR key preparsing In rxrpc_preparse(), there are two paths for parsing key payloads: the XDR path (for large payloads) and the non-XDR path (for payloads <= 28 bytes). While the XDR path (rxrpc_preparse_xdr_rxkad()) correctly validates the ticket length against AFSTOKEN_RK_TIX_MAX, the non-XDR path fails to do so. This allows an unprivileged user to provide a very large ticket length. When this key is later read via rxrpc_read(), the total token size (toksize) calculation results in a value that exceeds AFSTOKEN_LENGTH_MAX, triggering a WARN_ON(). [ 2001.302904] WARNING: CPU: 2 PID: 2108 at net/rxrpc/key.c:778 rxrpc_read+0x109/0x5c0 [rxrpc] Fix this by adding a check in the non-XDR parsing path of rxrpc_preparse() to ensure the ticket length does not exceed AFSTOKEN_RK_TIX_MAX, bringing it into parity with the XDR parsing logic.

02

Engine v0.2.0

Risk summary

An unprivileged local user can trigger a kernel warning by providing an oversized ticket length in RxRPC key payloads. This causes a WARN_ON() when the key is later read, potentially causing log spam but no memory corruption or privilege escalation.

Affectednet/rxrpc/key.c (rxrpc subsystem)

Vulnerability analysis

The vulnerability exists in rxrpc_preparse() where the non-XDR parsing path fails to validate ticket length against AFSTOKEN_RK_TIX_MAX, unlike the XDR path which correctly performs this check. An attacker can provide a very large ticket length value, which later causes toksize calculation to exceed AFSTOKEN_LENGTH_MAX during rxrpc_read(), triggering a WARN_ON(). The fix adds the missing validation check in the non-XDR path to ensure ticket length does not exceed AFSTOKEN_RK_TIX_MAX. This is a local attack requiring low privileges to access the key subsystem, with impact limited to kernel warnings rather than memory corruption.

03

BranchFixed inPatch commit
5.105.10.25844714dfda386
5.155.15.20941a117dd8037
6.16.1.1759a397aa9b5e5
6.126.12.844458757c0205
6.186.18.25ce383ba61533
6.66.6.1361fa36cf495b0
7.07.0.2a1be1c9ece26
mainline7.1-rc1ac33733b10b4