HIGH
rxrpc ProcFS Buffer Overflow
CVE-2026-31630
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
KernelScan AI5.5MEDIUM
01Description
In the Linux kernel, the following vulnerability has been resolved: rxrpc: proc: size address buffers for %pISpc output The AF_RXRPC procfs helpers format local and remote socket addresses into fixed 50-byte stack buffers with "%pISpc". That is too small for the longest current-tree IPv6-with-port form the formatter can produce. In lib/vsprintf.c, the compressed IPv6 path uses a dotted-quad tail not only for v4mapped addresses, but also for ISATAP addresses via ipv6_addr_is_isatap(). As a result, a case such as [ffff:ffff:ffff:ffff:0:5efe:255.255.255.255]:65535 is possible with the current formatter. That is 50 visible characters, so 51 bytes including the trailing NUL, which does not fit in the existing char[50] buffers used by net/rxrpc/proc.c. Size the buffers from the formatter's maximum textual form and switch the call sites to scnprintf(). Changes since v1: - correct the changelog to cite the actual maximum current-tree case explicitly - frame the proof around the ISATAP formatting path instead of the earlier mapped-v4 example
02KernelScan AI Analysis
Risk summary
Local users with low privileges can trigger a stack buffer overflow in the AF_RXRPC procfs interface when IPv6 addresses are formatted. This can cause kernel crashes and denial of service on systems using RxRPC networking protocol.
Vulnerability analysis
The vulnerability occurs in net/rxrpc/proc.c where IPv6 socket addresses are formatted into fixed 50-byte stack buffers using sprintf() with the %pISpc format specifier. The maximum IPv6 address representation with port can be 51 bytes (including null terminator) for cases like '[ffff:ffff:ffff:ffff:0:5efe:255.255.255.255]:65535', causing a one-byte stack buffer overflow. The fix increases buffer size to RXRPC_PROC_ADDRBUF_SIZE (64 bytes) and replaces sprintf() with scnprintf() for bounds checking. Attack surface is local-only, requiring access to procfs entries under /proc/net/rxrpc/ and the presence of IPv6-enabled RxRPC connections.
03Fix Versions
| Branch | Fixed in | Patch commit |
|---|---|---|
| 5.10 | 5.10.258 | 386c86412608 |
| 5.15 | 5.15.209 | 235b2115de89 |
| 6.1 | 6.1.175 | 625af53a1564 |
| 6.18 | 6.18.23 | db297c78ce53 |
| 6.19 | 6.19.13 | 10ebed83f9f6 |
| mainline | 7.0 | a44ce6aa2efb |