Linux kernel
cpe:2.3:a:linux:linux_kernel:*:*:*:*:*:*:*, +4 more
A vulnerability exists in the Linux kernel's IPsec implementation for IPv6, specifically within the xfrm6_get_saddr() function. This function fails to properly handle errors when retrieving source addresses, leaving the address variable uninitialized. As a result, subsequent operations can inadvertently use this uninitialized data, leading to potential memory corruption issues. This flaw has been identified and fixed in the Linux kernel stable tree.
Exploitation of this vulnerability could lead to the use of uninitialized memory, potentially causing memory corruption or other undefined behavior in the kernel.
To reproduce this vulnerability, invoke the xfrm6_get_saddr() function in a context where the ipv6_dev_get_saddr() call fails to find a suitable source address. This can be achieved by manipulating the function's parameters or the network environment to create a scenario where no valid address is available. The uninitialized memory issue can be observed by triggering the KMSAN (Kernel Memory Sanitizer) which will report the use of uninitialized values.
Users can upgrade to the latest version of the Linux kernel where this vulnerability has been addressed. Instructions for downloading the patched version are available on the Linux kernel official website.
Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.