CVE-2026-23157
Deadlock in Linux btrfs Due to Metadata Writeback Throttling
Publication date: 2026-02-14
Last updated on: 2026-03-25
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| linux | linux_kernel | 6.19 |
| linux | linux_kernel | 6.19 |
| linux | linux_kernel | 6.19 |
| linux | linux_kernel | 6.19 |
| linux | linux_kernel | 6.19 |
| linux | linux_kernel | 6.19 |
| linux | linux_kernel | 6.19 |
| linux | linux_kernel | From 2.6.29 (inc) to 6.18.9 (exc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-667 | The product does not properly acquire or release a lock on a resource, leading to unexpected resource state changes and behaviors. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability exists in the Linux kernel's btrfs filesystem, specifically related to how dirty metadata pages are written back. The issue arises because btrfs has an internal threshold of 32MiB for dirty btree inode pages before it triggers a writeback. However, if the dirty pages are below this threshold but above the cgroup's dirty memory limit (e.g., 16MB), processes get stuck waiting because btrfs refuses to write back the dirty pages and the cgroup refuses to allow more dirty pages. This causes a deadlock where over 1000 processes can hang at io_schedule_timeout() in balance_dirty_pages(), potentially leading to a system hang and kernel coredump.
The root cause is the mismatch between the btrfs internal threshold and the cgroup dirty memory limit, causing processes to sleep indefinitely waiting for dirty pages to be written back, which never happens due to the threshold logic.
This problem affects Linux kernels before version 6.18, and while newer kernels have improvements to mitigate this by charging btree inode pages to the root cgroup with a larger limit, older LTS kernels remain vulnerable.
How can this vulnerability impact me? :
This vulnerability can cause a system hang due to a deadlock situation where many processes (over 1000) are stuck waiting for dirty metadata pages to be written back. This can lead to a kernel coredump, effectively causing a denial of service (DoS) on the affected system.
Systems running affected Linux kernel versions (before 6.18) with btrfs filesystems and cgroups configured with small memory limits are particularly at risk. The deadlock can severely degrade system performance or cause complete unresponsiveness.
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
I don't know
How can this vulnerability be detected on my network or system? Can you suggest some commands?
I don't know
What immediate steps should I take to mitigate this vulnerability?
I don't know