What’s Vulnerable › Vulnerabilities
CVE-2024-46840: btrfs: clean up our handling of refs == 0 in snapshot delete
- Severity: medium (CVSS 5.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.3% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2024-09-27 · updated 2026-06-17
Description
In the Linux kernel, the following vulnerability has been resolved: btrfs: clean up our handling of refs == 0 in snapshot delete In reada we BUG_ON(refs == 0), which could be unkind since we aren't holding a lock on the extent leaf and thus could get a transient incorrect answer. In walk_down_proc we also BUG_ON(refs == 0), which could happen if we have extent tree corruption. Change that to return -EUCLEAN. In do_walk_down() we catch this case and handle it correctly, however we return -EIO, which -EUCLEAN is a more appropriate error code. Finally in walk_up_proc we have the same BUG_ON(refs == 0), so convert that to proper error handling. Also adjust the error message so we can actually do something with the information.
Affected products
- Linux kernel: before 4.19.322; from 4.20 before 5.4.284; from 5.5 before 5.10.226; from 5.11 before 5.15.167; from 5.16 before 6.1.110; from 6.2 before 6.6.51 — fixed in 4.19.322, 5.10.226, 5.15.167, 5.4.284, 6.1.110, 6.10.10
How to fix
Upgrade to a fixed version: Linux kernel 4.19.322, 5.10.226, 5.15.167, 5.4.284. Check the vendor advisory for mitigations.
References
- https://git.kernel.org/stable/c/03804641ec2d0da4fa088ad21c88e703d151ce16
- https://git.kernel.org/stable/c/71291aa7246645ef622621934d2067400380645e
- https://git.kernel.org/stable/c/728d4d045b628e006b48a448f3326a7194c88d32
- https://git.kernel.org/stable/c/7d1df13bf078ffebfedd361d714ff6cee1ff01b9
- https://git.kernel.org/stable/c/9cc887ac24b7a0598f4042ae9af6b9a33072f75b
- https://git.kernel.org/stable/c/b8ccef048354074a548f108e51d0557d6adfd3a3
- https://git.kernel.org/stable/c/c60676b81fab456b672796830f6d8057058f029c
- https://git.kernel.org/stable/c/c847b28a799733b04574060ab9d00f215970627d
- https://lists.debian.org/debian-lts-announce/2024/10/msg00003.html
- https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html
Get alerted when CVE-2024-46840 or the next vulnerability affects your stack