Vulnerability in Kernel: block: disable the elevator int del_gendisk
Summary
GSD-2022-1004269: block: disable the elevator int del_gendisk. Affects Kernel versions >= e155b0c238b20f0a866f4334d292656665836c8a, < f28699fafc047ec33299da01e928c3a0073c5cc6. 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 fundamental component of the Linux operating system, responsible for managing system resources and facilitating communication between hardware and software. It provides essential functionalities such as process management, memory management, and device drivers. The vulnerability in question affects the Kernel's block subsystem, specifically the elevator interface used for disk I/O scheduling. The elevator interface allows the Kernel to prioritize and optimize disk access, improving overall system performance. However, a flaw in the implementation of the elevator interface can lead to a security vulnerability.
Vulnerability Detail
The vulnerability arises from a failure to properly disable the elevator interface when deleting a gendisk structure. This can result in a use-after-free condition, where a reference to the freed elevator structure is still accessible. An attacker could potentially exploit this vulnerability to execute arbitrary code or cause a denial-of-service (DoS) condition. The impact and attack plausibility of this vulnerability have not been proven yet, but it is crucial to address it to ensure the security and stability of the system.
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 workaround, users can manually disable the elevator interface before deleting a gendisk structure. This can be achieved by modifying the code responsible for gendisk deletion to include the necessary steps to disable the elevator interface. Here is an example of how this can be done:
void delete_gendisk(struct gendisk *disk) {
/* Disable the elevator interface */
elevator_disable(disk->queue);
/* Perform the gendisk deletion */
...
}
Conclusion
The vulnerability in the Kernel's block subsystem, specifically the elevator interface, can lead to a use-after-free condition and potential code execution or denial-of-service. It is crucial to update the Linux Kernel to version v5.18.8 or later to fix this vulnerability. In the meantime, users can apply the provided workaround to mitigate the risk. For further support on vulnerability remediation, please contact DevNack.com.
See every vulnerability recorded for Kernel →
FAQ
The impact of this vulnerability can vary depending on the specific system configuration and the presence of potential exploit vectors. However, if successfully exploited, an attacker could execute arbitrary code or cause a denial-of-service (DoS) condition.
You can use tools like Vulert 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. You can visit the Vulert playground at Vulert Scanner to check if your application is affected.
Yes, a patch for this vulnerability is available in the Linux Kernel version v5.18.8 and later. It is recommended to update to the latest version to ensure the vulnerability is fixed.
As of now, there are no known exploits for this vulnerability. However, it is important to address the vulnerability promptly to mitigate any potential risks.
Yes, you can apply the provided workaround to manually disable the elevator interface before deleting a gendisk structure. This will help mitigate the vulnerability until you can update to the patched version.
Related vulnerabilities
Recent vulnerabilities recorded for Kernel.