CVE-2023-54121
Incorrect Extent Map Splitting in Linux btrfs Causes Data Corruption
Publication date: 2025-12-24
Last updated on: 2025-12-24
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| linux | linux_kernel | * |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-UNKNOWN |
Attack-Flow Graph
AI Powered Q&A
What immediate steps should I take to mitigate this vulnerability?
The vulnerability is fixed by correcting the logic in the btrfs_drop_extent_map_range function in the Linux kernel. Immediate mitigation involves updating your Linux kernel to a version that includes this fix to prevent invalid extent maps and potential issues during relocation. Since the issue occurs mainly during relocation with skip_pinned enabled, avoiding or limiting relocation operations until the kernel is updated may reduce exposure.
Can you explain this vulnerability to me?
This vulnerability is a bug in the Linux kernel's btrfs filesystem code, specifically in the btrfs_drop_extent_map_range function. The issue arises when the function incorrectly calculates the length of an extent map range to drop, especially when skipping pinned extents during relocation. This miscalculation leads to creating invalid extent maps that can overlap or have incorrect start and length values, potentially causing problems in block-related calculations and filesystem integrity.
How can this vulnerability impact me? :
The vulnerability can cause invalid extent maps in the btrfs filesystem, which may lead to overlapping extent entries or incorrect block calculations. This can result in filesystem instability or errors, particularly during relocation operations where pinned extents are skipped. While this situation is relatively rare, it can affect systems that frequently perform auto relocation, potentially impacting data integrity or system reliability.