Vulnerability in vhost/vsock package: Owner Check Bypass in vhost_vsock_stop()
Summary
GSD-2022-1000915: vhost/vsock: don't check owner in vhost_vsock_stop() while releasing. Affects Kernel versions >= 433fc58e6bf2c8bd97e57153ed28e64fd78207b8, < 914f93fee61a05b524ed8d8d795fa236d19f4400. 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 vhost/vsock package is a component of the Linux Kernel, which provides support for virtual sockets in a virtualized environment. It allows communication between the host and guest operating systems. The vhost/vsock package is responsible for managing the lifecycle of vhost-vsock devices. These devices enable communication between the host and guest through a socket-like interface.
The vulnerability in the vhost/vsock package allows an attacker to bypass the owner check during the release of vhost-vsock devices. This check is intended to ensure that only the owner of a vhost-vsock device can release it. By bypassing this check, an attacker with access to a vhost-vsock device can release it, potentially leading to unauthorized access or denial of service.
Vulnerability Detail
The vulnerability arises from a missing owner check in the vhost_vsock_stop() function of the vhost/vsock package. This function is responsible for releasing a vhost-vsock device. However, it does not verify the owner of the device before releasing it. This oversight allows an attacker with access to a vhost-vsock device to release it, even if they are not the owner.
The impact of this vulnerability can vary depending on the context. If an attacker gains unauthorized access to a vhost-vsock device, they may be able to intercept or manipulate the communication between the host and guest operating systems. This could lead to information disclosure or privilege escalation. Additionally, an attacker could repeatedly release vhost-vsock devices, causing a denial of service by disrupting the communication between the host and guest.
How To Fix
No fixed version is published for this vulnerability.
To fix this vulnerability, it is recommended to update the Linux Kernel to version v4.19.232 or later. This update includes a patch that addresses the missing owner check in the vhost/vsock package. Users should follow the standard procedure for updating the Linux Kernel on their respective distributions.
For example, on a Debian-based distribution, the following commands can be used to update the Linux Kernel:
sudo apt update
sudo apt upgrade
After updating the Linux Kernel, it is necessary to reboot the system for the changes to take effect.
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 disable the vhost/vsock functionality if it is not required in their environment. This can be achieved by blacklisting the vhost_vsock module.
To blacklist the vhost_vsock module on a Linux system, create a new file named vhost_vsock.conf in the /etc/modprobe.d/ directory with the following content:
blacklist vhost_vsock
After creating the file, reboot the system for the changes to take effect. This will prevent the vhost/vsock package from being loaded and mitigate the vulnerability.
Conclusion
In conclusion, the vhost/vsock package in the Linux Kernel is vulnerable to a bypass of the owner check during the release of vhost-vsock devices. This can lead to unauthorized access or denial of service. It is recommended to update the Linux Kernel to version v4.19.232 or later to fix this vulnerability. Alternatively, users can disable the vhost/vsock functionality by blacklisting the vhost_vsock module. For further support on vulnerability remediation, please contact DevNack.com.
See every vulnerability recorded for Kernel →
FAQ
The vhost/vsock package is a component of the Linux Kernel that provides support for virtual sockets in a virtualized environment. It enables communication between the host and guest operating systems through a socket-like interface.
The impact of this vulnerability can vary depending on the context. An attacker with access to a vhost-vsock device can release it, potentially leading to unauthorized access or denial of service. They may be able to intercept or manipulate communication between the host and guest operating systems, resulting in information disclosure or privilege escalation.
To fix this vulnerability, it is recommended to update the Linux Kernel to version v4.19.232 or later. Users should follow the standard procedure for updating the Linux Kernel on their respective distributions. After updating, a system reboot is necessary for the changes to take effect.
Yes, a workaround is available. Users can disable the vhost/vsock functionality by blacklisting the vhost_vsock module. This prevents the vhost/vsock package from being loaded and mitigates the vulnerability.
To disable the vhost_vsock module, create a new file named vhost_vsock.conf in the /etc/modprobe.d/ directory and add the line blacklist vhost_vsock. After creating the file, reboot the system for the changes to take effect.
Related vulnerabilities
Recent vulnerabilities recorded for Kernel.
Follow Vulert in Google
Get more Vulert vulnerability and dependency-security updates in Google Search and AI results.