CVE-2026-31630
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Summary
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
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
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 75b54cb57ca34cbe7a87c6ac757c55360a624590 < 386c86412608d3449006a318a662cbcd6ca1f668 | affected |
| Linux | Linux | 75b54cb57ca34cbe7a87c6ac757c55360a624590 < 235b2115de892eab2e107a42efa7a4347baaa80b | affected |
| Linux | Linux | 75b54cb57ca34cbe7a87c6ac757c55360a624590 < 625af53a1564e31bb2df9adc3739df46137f46c1 | affected |
| Linux | Linux | 75b54cb57ca34cbe7a87c6ac757c55360a624590 < db297c78ce537c9ac96f0eda9b25ad72c8caefa9 | affected |
| Linux | Linux | 75b54cb57ca34cbe7a87c6ac757c55360a624590 < 10ebed83f9f6414af4e85bc85ffaeda7effdd874 | affected |
| Linux | Linux | 75b54cb57ca34cbe7a87c6ac757c55360a624590 < a44ce6aa2efb61fe44f2cfab72bb01544bbca272 | affected |
| Linux | Linux | 4.9 | affected |
| Linux | Linux | 0 < 4.9 | unaffected |
| Linux | Linux | 5.10.258 <= 5.10.* | unaffected |
| Linux | Linux | 5.15.209 <= 5.15.* | unaffected |
| Linux | Linux | 6.1.175 <= 6.1.* | unaffected |
| Linux | Linux | 6.18.23 <= 6.18.* | unaffected |
| Linux | Linux | 6.19.13 <= 6.19.* | unaffected |
| Linux | Linux | 7.0 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/386c86412608d3449006a318a662cbcd6ca1f668
- https://git.kernel.org/stable/c/235b2115de892eab2e107a42efa7a4347baaa80b
- https://git.kernel.org/stable/c/625af53a1564e31bb2df9adc3739df46137f46c1
- https://git.kernel.org/stable/c/db297c78ce537c9ac96f0eda9b25ad72c8caefa9
- https://git.kernel.org/stable/c/10ebed83f9f6414af4e85bc85ffaeda7effdd874
- https://git.kernel.org/stable/c/a44ce6aa2efb61fe44f2cfab72bb01544bbca272
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.