Vulnerability in Kernel: efi: Change down_interruptible() in virt_efi_reset_system() to down_trylock()
Summary
GSD-2021-1001786: efi: Change down_interruptible() in virt_efi_reset_system() to down_trylock(). Affects Kernel versions < 1882965c67475bbc4448b1d03051e3f9f6746042. 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 Kernel is a critical component of the Linux operating system that provides core functionalities and acts as an interface between hardware and software. It manages system resources, facilitates communication between different software components, and ensures the overall stability and security of the system. The efi module within the Kernel is responsible for handling the Extensible Firmware Interface (EFI) system calls. EFI is a specification that defines an interface between the operating system and the platform firmware, providing a standardized way to boot the system and access hardware functionalities. The virt_efi_reset_system() function in the efi module is used to reset the system. However, it contains a vulnerability that can potentially be exploited by attackers.
Vulnerability Detail
The vulnerability in the virt_efi_reset_system() function arises from the use of the down_interruptible() function, which can lead to a deadlock situation. The down_interruptible() function is used to acquire a semaphore lock, but it can block indefinitely if interrupted by a signal. This can result in a system freeze or unresponsiveness. To mitigate this issue, the down_interruptible() function should be replaced with the down_trylock() function, which attempts to acquire the lock without blocking and returns immediately if the lock is not available. This change ensures that the system remains responsive even if a signal interrupts the lock acquisition process.
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
There is no specific workaround mentioned for this vulnerability.
Conclusion
The vulnerability in the virt_efi_reset_system() function of the Kernel can lead to system freeze or unresponsiveness. To mitigate this issue, it is crucial to update the Kernel version to include the fix provided in commit 1882965c67475bbc4448b1d03051e3f9f6746042. Developers and system administrators should prioritize this update to ensure the stability and security of their systems. For further support on vulnerability remediation, you can reach out to DevNack.com.
See every vulnerability recorded for Kernel →
FAQ
This vulnerability can potentially lead to a system freeze or unresponsiveness, affecting the overall stability and availability of the system.
You can use tools like Vulert (https://vulert.com) to check if your system is affected by this vulnerability. Vulert uses a manifest file like package-lock.json to monitor and alert in real-time for open-source vulnerabilities in the software.
At the time of this report, there is no known exploit for this vulnerability. However, it is important to apply the recommended fix to mitigate any potential risks.
The vulnerability is present in the Linux Kernel version prior to v4.9.288. It has been fixed in the Linux Kernel version v4.9.288 by commit 1882965c67475bbc4448b1d03051e3f9f6746042.
If updating the Kernel version is not feasible, it is recommended to follow best security practices, such as implementing strict access controls, network segmentation, and monitoring for any suspicious activities.
Related vulnerabilities
Recent vulnerabilities recorded for Kernel.