rxrpc: Fix call timer start racing with call destruction in Kernel
Summary
GSD-2022-1001107: rxrpc: Fix call timer start racing with call destruction. Affects Kernel versions >= a158bdd3247b9656df36ba133235fff702e9fdc3, < 5e3c11144e557a9dbf9a2f6abe444689ef9d8aae. No fix is published. How to fix ↓
Check if this vulnerability affects your application
Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.
No signup required · Results in about 60 seconds
Background
The Kernel is a critical component of the Linux operating system that provides core functionality and interfaces with hardware devices. It manages system resources, facilitates communication between software and hardware, and ensures the stability and security of the system. The rxrpc module in the Kernel is responsible for implementing the Reliable Datagram Protocol (RxRPC) and enables reliable communication between networked applications. RxRPC is commonly used for remote procedure calls (RPC) in distributed systems.
However, a vulnerability has been discovered in the rxrpc module that allows a race condition between the start of a call timer and the destruction of the call. This race condition can lead to various issues, including memory corruption, resource leaks, and potential privilege escalation.
Vulnerability Detail
The vulnerability in the rxrpc module occurs when a call timer is started concurrently with the destruction of the call. This race condition can result in the call timer accessing freed memory or other resources, leading to memory corruption or resource leaks. An attacker may be able to exploit this vulnerability to execute arbitrary code with elevated privileges or cause a denial-of-service condition.
The vulnerability was introduced in version v4.15 of the Linux Kernel by commit a158bdd3247b9656df36ba133235fff702e9fdc3 and is fixed in version v5.17.2 by commit 5e3c11144e557a9dbf9a2f6abe444689ef9d8aae.
How To Fix
No fixed version is published for this vulnerability.
Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →
Workaround
As a temporary workaround, users can disable the rxrpc module if it is not required for their system. This can be done by blacklisting the module or removing it from the Kernel configuration before compiling. However, this workaround may impact the functionality of applications or services that rely on RxRPC.
Conclusion
The vulnerability in the rxrpc module of the Linux Kernel can lead to memory corruption, resource leaks, and potential privilege escalation. It is recommended to update the Kernel to version v5.17.2 or later to fix this vulnerability. Users can also use the Vulert Playground (https://vulert.com/scanner) to check if their system is affected and obtain further support on vulnerability remediation.
See every vulnerability recorded for Kernel →
FAQ
The vulnerability can lead to memory corruption, resource leaks, and potential privilege escalation. An attacker may be able to execute arbitrary code with elevated privileges or cause a denial-of-service condition.
You can use the Vulert Playground (https://vulert.com/scanner) to check if your system is affected by this vulnerability. Simply upload your package-lock.json file and the Vulert Playground will analyze it for any open-source vulnerabilities, including this one.
Yes, a patch is available in version v5.17.2 of the Linux Kernel. It is recommended to update to this version or a later one to fix the vulnerability.
As a temporary workaround, you can disable the rxrpc module if it is not required for your system. However, this may impact the functionality of applications or services that rely on RxRPC.
For more information about this vulnerability, you can refer to the vulnerability details in the GSD database (https://github.com/cloudsecurityalliance/gsd-database/blob/main/2022/1001xxx/GSD-2022-1001107.json).
Related vulnerabilities
Recent vulnerabilities recorded for Kernel.