Linux Kernel: RxRPC procfs Address Buffer Overflow via %pISpc Formatter
CVE-2026-31630 Published on April 24, 2026
rxrpc: proc: size address buffers for %pISpc output
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
Products Associated with CVE-2026-31630
Want to know whenever a new CVE is published for Linux Kernel? stack.watch will email you.
Affected Versions
Linux:- Version 75b54cb57ca34cbe7a87c6ac757c55360a624590 and below db297c78ce537c9ac96f0eda9b25ad72c8caefa9 is affected.
- Version 75b54cb57ca34cbe7a87c6ac757c55360a624590 and below 10ebed83f9f6414af4e85bc85ffaeda7effdd874 is affected.
- Version 75b54cb57ca34cbe7a87c6ac757c55360a624590 and below a44ce6aa2efb61fe44f2cfab72bb01544bbca272 is affected.
- Version 4.9 is affected.
- Before 4.9 is unaffected.
- Version 6.18.23, <= 6.18.* is unaffected.
- Version 6.19.13, <= 6.19.* is unaffected.
- Version 7.0, <= * is unaffected.