CVE-2026-31642: rxrpc: Fix call removal to use RCU safe deletion
In the Linux kernel, the following vulnerability has been resolved:
rxrpc: Fix call removal to use RCU safe deletion
Fix rxrpc call removal from the rxnet->calls list to use listdelrcu() rather than listdelinit() to prevent stuffing up reading /proc/net/rxrpc/calls from potentially getting into an infinite loop.
This, however, means that listempty() no longer works on an entry that's been deleted from the list, making it harder to detect prior deletion. Fix this by:
Firstly, make rxrpcdestroyallcalls() only dump the first ten calls that are unexpectedly still on the list. Limiting the number of steps means there's no need to call condresched() or to remove calls from the list here, thereby eliminating the need for rxrpcputcall() to check for that.
rxrpcputcall() can then be fixed to unconditionally delete the call from the list as it is the only place that the deletion occurs.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 6.6.137.1-1
Event History
Frequently Asked Questions
What is the severity of CVE-2026-31642?
CVE-2026-31642 is considered to have low severity as it mainly affects the implementation of call removal in the Linux kernel.
How do I fix CVE-2026-31642?
To fix CVE-2026-31642, update your Linux kernel to the latest version where the vulnerability has been addressed.
What systems are affected by CVE-2026-31642?
CVE-2026-31642 affects various versions of the Linux kernel that utilize the rxrpc feature.
What are the potential impacts of CVE-2026-31642?
The potential impact of CVE-2026-31642 includes possible disruption in the handling of remote procedure calls within affected systems.
Is CVE-2026-31642 actively being exploited?
As of now, there are no known active exploits for CVE-2026-31642 in the wild.