Linux Kernel vsock Transport Assignment Race Condition Vulnerability

Vulnerability

A vulnerability in the Linux kernel's vsock implementation can lead to a use-after-free condition. This issue arises because the assignment of transport protocols can race with the unloading of kernel modules, potentially causing a transport pointer to become stale. The vulnerability was introduced when multi-transport support was added to vsock, allowing for different transport protocols to be used depending on the socket type. The issue can be exploited by manipulating the timing of transport assignments and module unloads, leading to a page fault and a kernel oops, which is a sign of a serious error in the kernel.

Impact

Exploitation of this vulnerability causes a kernel oops, indicating a serious error that can potentially be exploited to execute arbitrary code in the kernel context or cause a denial-of-service condition by crashing the system.

Reproduction

The vulnerability can be reproduced by creating a socket that uses a transport protocol, such as Datagram or H2G, and then unloading the module that provides that transport while the socket is still in use. This can be done by manually triggering the module unload or by using a script that automates the process. The timing of the unload must be carefully controlled to create the race condition, which can be challenging but is possible with the right approach.

Remediation

Users can upgrade to the latest version of the Linux kernel, where this vulnerability has been addressed. Instructions for upgrading the kernel can be found in the official Linux kernel documentation.

Added: Sep 1, 2025, 7:22 PM
Updated: Sep 1, 2025, 7:22 PM

Vulnerability Rating

Custom Algorithm
spread
9.0
impact
2.5
exploitability
3.9
remediation
7.7
relevance
0.3
threat
4.8
urgency
2.9
incentive
1.7

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.