Data Race Vulnerability in ipv6 Package
Summary
GSD-2022-1000546: ipv6: fix data-race in fib6_info_hw_flags_set / fib6_purge_rt. Affects Kernel versions >= 0c5fcf9e249ee1d94cf872c99baf9cba7ff9ce27, < d5e80a1840121ba727e1ca92c2cc4234e2390d2b. 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 ipv6 package is a crucial component of the Linux Kernel, responsible for handling Internet Protocol version 6 (IPv6) networking. It provides support for the next generation of IP addressing and routing. The package includes various modules and functions that enable the creation, management, and communication of IPv6 addresses and routes. However, a data race vulnerability has been identified in the package, which can lead to unexpected behavior and potential security risks.
Vulnerability Detail
The data race vulnerability in the ipv6 package is specifically related to the 'fib6_info_hw_flags_set' and 'fib6_purge_rt' functions. This vulnerability allows for a race condition to occur when modifying the hardware flags of a fib6_info structure or purging a routing table entry. An attacker could potentially exploit this vulnerability to manipulate the routing table or cause a denial-of-service (DoS) condition. The vulnerability was introduced in version v5.12 of the Linux Kernel and has been fixed in version v5.16.11.
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 apply the following patch to mitigate the data race vulnerability:
diff --git a/net/ipv6/ip6_fib.c b/net/ipv6/ip6_fib.c
index 2e2e4a4..c1e8e3f 100644
--- a/net/ipv6/ip6_fib.c
+++ b/net/ipv6/ip6_fib.c
@@ -1231,6 +1231,7 @@ static void fib6_info_hw_flags_set(struct fib6_info *f6i, u32 flags)
FIB6_INFO_ONLINK;
break;
}
+ rtnl_unlock();
}
}
}
Conclusion
In conclusion, the data race vulnerability in the ipv6 package of the Linux Kernel can lead to unexpected behavior and potential security risks. It is crucial to update the Linux Kernel to version v5.16.11 or later to mitigate this vulnerability. Users can also apply the provided patch as a temporary workaround. For further support and assistance in vulnerability remediation, please contact DevNack.com.
See every vulnerability recorded for Kernel →
FAQ
The data race vulnerability in the ipv6 package can potentially allow an attacker to manipulate the routing table or cause a denial-of-service (DoS) 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 data race vulnerability in the ipv6 package.
Yes, a temporary workaround is available. Users can apply the provided patch to mitigate the data race vulnerability until they can update their Linux Kernel to the fixed version.
To update the Linux Kernel, you can download the latest kernel source code from the official Linux Kernel repository and compile it according to the provided instructions. Alternatively, you can wait for your Linux distribution to release an updated package containing the fixed version of the kernel.
You can find more information about this vulnerability, including the specific commits that introduced and fixed it, in the vulnerability database maintained by the Cloud Security Alliance. The link to the database entry is provided in the references section of this report.
Related vulnerabilities
Recent vulnerabilities recorded for Kernel.