Data Race Vulnerability in Linux Kernel
Summary
GSD-2022-1004780: tcp: Fix a data-race around sysctl_tcp_probe_threshold. Affects Kernel versions >= 6b58e0a5f32dedb609438bb9c9c82aa6e23381f2, < 96900fa61777402eb5056269d8000aace33a8b6c. 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 Linux Kernel is a critical component of the Linux operating system, responsible for managing system resources and providing an interface for applications to interact with the hardware. It is widely used in various devices, including servers, desktops, and embedded systems. The vulnerability identified in this report relates to the TCP subsystem of the Linux Kernel.
Vulnerability Detail
The vulnerability in the TCP subsystem of the Linux Kernel involves a data race around the sysctl_tcp_probe_threshold. A data race occurs when multiple threads or processes access shared data concurrently without proper synchronization, leading to unpredictable behavior and potential security vulnerabilities. In this case, the data race can be exploited by an attacker to manipulate the sysctl_tcp_probe_threshold value, potentially impacting the performance and stability of the TCP subsystem.
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 workaround, users can apply the patch provided in the commit 96900fa61777402eb5056269d8000aace33a8b6c to their existing kernel version. The patch addresses the data race issue and can be manually applied to mitigate the vulnerability. Here is an example of the patch:
--- a/net/ipv4/tcp_probe.c
+++ b/net/ipv4/tcp_probe.c
@@ -123,7 +123,7 @@ static int tcp_probe_init(struct net *net)
tcp_probe_init_net(net);
return 0;
}
-sysctl_tcp_probe_threshold = 0;
+DEFINE_STATIC_KEY_FALSE(tcp_probe_enabled);
static struct ctl_table tcp_probe_table[] = {
{
Conclusion
In conclusion, the data race vulnerability in the TCP subsystem of the Linux Kernel can be mitigated by updating the kernel to version v4.19.254 or later. Alternatively, users can apply the provided patch to their existing kernel version. For further support and assistance in vulnerability remediation, please contact DevNack.com.
See every vulnerability recorded for Kernel →
FAQ
This vulnerability can be exploited by an attacker to manipulate the sysctl_tcp_probe_threshold value, potentially impacting the performance and stability of the TCP subsystem.
You can use Vulert's playground at Vulert Scanner to check if your system is affected by this vulnerability. Simply upload your package-lock.json file, and Vulert will analyze it in real-time to identify any open-source vulnerabilities, including this data race vulnerability in the Linux Kernel.
Yes, the vulnerability has been fixed in Linux Kernel version v4.19.254. It is recommended to update your kernel to this version or later to ensure the data race issue is resolved.
Yes, a workaround is available in the form of a patch provided in commit 96900fa61777402eb5056269d8000aace33a8b6c. You can manually apply this patch to your existing kernel version to mitigate the data race vulnerability.
You can refer to the vulnerability details in the GSD database at https://github.com/cloudsecurityalliance/gsd-database/blob/main/2022/1004xxx/GSD-2022-1004780.json for more information about this vulnerability, including its introduction and fix commits.
Related vulnerabilities
Recent vulnerabilities recorded for Kernel.