CVE-2026-31642
N/A
Summary
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 list_del_rcu() rather than list_del_init() to prevent stuffing up reading /proc/net/rxrpc/calls from potentially getting into an infinite loop.
This, however, means that list_empty() 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 rxrpc_destroy_all_calls() 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 cond_resched() or to remove calls from the list here, thereby eliminating the need for rxrpc_put_call() to check for that.
rxrpc_put_call() can then be fixed to unconditionally delete the call from the list as it is the only place that the deletion occurs.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 2baec2c3f854d1f79c7bb28386484e144e864a14 < 3e47a38e584b905359fe0ce5be5165d1e8592a90 | affected |
| Linux | Linux | 2baec2c3f854d1f79c7bb28386484e144e864a14 < b15b1ce96777b88989a6a4de8d01efbcd81ad2d7 | affected |
| Linux | Linux | 2baec2c3f854d1f79c7bb28386484e144e864a14 < 280efb85e9759881a9d31d0874baa04583cb6c09 | affected |
| Linux | Linux | 2baec2c3f854d1f79c7bb28386484e144e864a14 < 93fc15be44a35b8e3c58d0238ac0d9b7c53465ff | affected |
| Linux | Linux | 2baec2c3f854d1f79c7bb28386484e144e864a14 < c63abf25203b50243fe228090526f9dbf37727bd | affected |
| Linux | Linux | 2baec2c3f854d1f79c7bb28386484e144e864a14 < 3be718f659683ad89fad6f1eb66bee99727cae64 | affected |
| Linux | Linux | 2baec2c3f854d1f79c7bb28386484e144e864a14 < ac5f54691be06a32246179d41be2d73598036deb | affected |
| Linux | Linux | 2baec2c3f854d1f79c7bb28386484e144e864a14 < 146d4ab94cf129ee06cd467cb5c71368a6b5bad6 | affected |
| Linux | Linux | 4.13 | affected |
| Linux | Linux | 0 < 4.13 | 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.6.135 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.82 <= 6.12.* | 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/3e47a38e584b905359fe0ce5be5165d1e8592a90
- https://git.kernel.org/stable/c/b15b1ce96777b88989a6a4de8d01efbcd81ad2d7
- https://git.kernel.org/stable/c/280efb85e9759881a9d31d0874baa04583cb6c09
- https://git.kernel.org/stable/c/93fc15be44a35b8e3c58d0238ac0d9b7c53465ff
- https://git.kernel.org/stable/c/c63abf25203b50243fe228090526f9dbf37727bd
- https://git.kernel.org/stable/c/3be718f659683ad89fad6f1eb66bee99727cae64
- https://git.kernel.org/stable/c/ac5f54691be06a32246179d41be2d73598036deb
- https://git.kernel.org/stable/c/146d4ab94cf129ee06cd467cb5c71368a6b5bad6
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.