CVE-2026-31636
Published: 24 April 2026
Summary
CVE-2026-31636 is a critical-severity Out-of-bounds Read (CWE-125) vulnerability in Linux Linux Kernel. Its CVSS base score is 9.1 (Critical).
Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked at the 16.5th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.
The strongest mitigations our analysis identified are NIST 800-53 SI-2 (Flaw Remediation) and SC-7 (Boundary Protection).
Threat & Defense at a Glance
Threat & Defense Details
Mitigating Controls (NIST 800-53 r5)AI
Timely patching of the Linux kernel flaw in rxgk_verify_authenticator() directly resolves the out-of-bounds read from malformed RxRPC RESPONSE authenticators.
Validating the length and bounds of RxRPC authenticator inputs before pointer arithmetic in kernel parsing prevents exploitation of the inflated parser limit.
Boundary protection at network interfaces blocks remote unauthenticated access to RxRPC services, mitigating exploitation over the network.
MITRE ATT&CK Enterprise TechniquesAI
Why these techniques?
Remote unauthenticated network exploitation of exposed RxRPC kernel service directly matches T1190. OOB read enables kernel memory disclosure for credential/sensitive data access (T1212). High availability impact via system crash matches T1499.004 Application or System Exploitation.
NVD Description
In the Linux kernel, the following vulnerability has been resolved: rxrpc: fix RESPONSE authenticator parser OOB read rxgk_verify_authenticator() copies auth_len bytes into a temporary buffer and then passes p + auth_len as the parser limit to rxgk_do_verify_authenticator(). Since p is…
more
a __be32 *, that inflates the parser end pointer by a factor of four and lets malformed RESPONSE authenticators read past the kmalloc() buffer. Decoded from the original latest-net reproduction logs with scripts/decode_stacktrace.sh: BUG: KASAN: slab-out-of-bounds in rxgk_verify_response() Call Trace: dump_stack_lvl() [lib/dump_stack.c:123] print_report() [mm/kasan/report.c:379 mm/kasan/report.c:482] kasan_report() [mm/kasan/report.c:597] rxgk_verify_response() [net/rxrpc/rxgk.c:1103 net/rxrpc/rxgk.c:1167 net/rxrpc/rxgk.c:1274] rxrpc_process_connection() [net/rxrpc/conn_event.c:266 net/rxrpc/conn_event.c:364 net/rxrpc/conn_event.c:386] process_one_work() [kernel/workqueue.c:3281] worker_thread() [kernel/workqueue.c:3353 kernel/workqueue.c:3440] kthread() [kernel/kthread.c:436] ret_from_fork() [arch/x86/kernel/process.c:164] Allocated by task 54: rxgk_verify_response() [include/linux/slab.h:954 net/rxrpc/rxgk.c:1155 net/rxrpc/rxgk.c:1274] rxrpc_process_connection() [net/rxrpc/conn_event.c:266 net/rxrpc/conn_event.c:364 net/rxrpc/conn_event.c:386] Convert the byte count to __be32 units before constructing the parser limit.
Deeper analysisAI
CVE-2026-31636 is an out-of-bounds read vulnerability in the Linux kernel's RxRPC implementation, specifically in the rxgk_verify_authenticator() function within net/rxrpc/rxgk.c. The issue arises when processing RESPONSE authenticators: the function copies auth_len bytes into a temporary kmalloc() buffer but then passes p + auth_len as the parser limit to rxgk_do_verify_authenticator(), where p is a __be32 pointer. This pointer arithmetic inflates the end pointer by a factor of four, enabling malformed authenticators to read past the buffer bounds. Kernel Address Sanitizer (KASAN) detected this as a slab-out-of-bounds read during processing in rxgk_verify_response(), triggered via rxrpc_process_connection().
Remote, unauthenticated attackers can exploit this vulnerability over the network with low complexity and no user interaction, as indicated by its CVSS v3.1 base score of 9.1 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H). By sending crafted RESPONSE authenticators, an attacker can trigger the out-of-bounds read (CWE-125), potentially leading to sensitive kernel memory disclosure (high confidentiality impact) or system crashes via denial-of-service (high availability impact).
Mitigation requires applying upstream Linux kernel patches from the provided stable commit references, which resolve the flaw by converting the auth_len byte count to __be32 units before constructing the parser limit. The fixes are available at: https://git.kernel.org/stable/c/20a188775a9a9982d1987e12660d9b44b40a6c99, https://git.kernel.org/stable/c/3e3138007887504ee9206d0bfb5acb062c600025, and https://git.kernel.org/stable/c/7875f3d9777bd4e9892c4db830571ab8ac2044c0. Security practitioners should prioritize updating affected kernel versions using these commits.
Details
- CWE(s)