Vulnerability in bcache: Avoid Journal No-Space Deadlock
Summary
GSD-2022-1003492: bcache: avoid journal no-space deadlock by reserving 1 journal bucket. Affects Kernel versions < 59afd4f287900c8187e968a4153ed35e6b48efce. 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 bcache package is a component of the Linux Kernel that provides a block layer cache. It allows for caching of data from slower storage devices, such as hard drives, to faster devices like solid-state drives (SSDs). This caching mechanism improves overall system performance by reducing disk I/O operations. However, a vulnerability has been discovered in bcache that can lead to a deadlock situation when the journal runs out of space.
Vulnerability Detail
The vulnerability in bcache arises from a potential deadlock scenario when the journal does not have enough space. In this situation, the system can become unresponsive or experience significant performance degradation. The deadlock occurs because bcache does not reserve at least one journal bucket, leading to a situation where the journal cannot be written to or cleared, causing the system to hang. This vulnerability could be exploited by an attacker to cause a denial-of-service (DoS) condition or disrupt system operations.
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 reserve one journal bucket to avoid the deadlock situation. This can be achieved by modifying the bcache configuration to allocate an additional journal bucket. Here is an example of how to modify the configuration file (/etc/bcache.conf) to reserve one journal bucket:
# Add the following line to the bcache.conf file
bucket_count = 1
After making this change, restart the system to apply the configuration update.
Conclusion
In conclusion, the vulnerability in bcache can lead to a deadlock situation when the journal runs out of space, causing system unresponsiveness or performance degradation. It is recommended to update the Linux Kernel to version v5.10.121 or later to fix this vulnerability. Alternatively, a workaround is available by manually reserving one journal bucket in the bcache configuration. For further support on vulnerability remediation, please contact DevNack.com.
See every vulnerability recorded for Kernel →
FAQ
Bcache is a component of the Linux Kernel that provides a block layer cache, allowing for improved system performance by caching data from slower storage devices to faster devices.
The vulnerability can lead to a deadlock situation in bcache when the journal runs out of space, causing the system to become unresponsive or experience significant performance degradation.
An attacker could exploit this vulnerability to cause a denial-of-service (DoS) condition or disrupt system operations by triggering the deadlock scenario in bcache.
To fix this vulnerability, update the Linux Kernel to version v5.10.121 or later, which includes the necessary fix for the deadlock scenario in bcache.
Yes, a workaround is available by manually reserving one journal bucket in the bcache configuration. This can be achieved by modifying the bcache.conf file and adding the 'bucket_count = 1' line.
Related vulnerabilities
Recent vulnerabilities recorded for Kernel.