CVE-2026-45912 Details
Description
In the Linux kernel, the following vulnerability has been resolved: ext4: don't cache extent during splitting extent Caching extents during the splitting process is risky, as it may result in stale extents remaining in the status tree. Moreover, in most cases, the corresponding extent block entries are likely already cached before the split happens, making caching here not particularly useful. Assume we have an unwritten extent, and then DIO writes the first half. [UUUUUUUUUUUUUUUU] on-disk extent U: unwritten extent [UUUUUUUUUUUUUUUU] extent status tree |<- ->| ----> dio write this range First, when ext4_split_extent_at() splits this extent, it truncates the existing extent and then inserts a new one. During this process, this extent status entry may be shrunk, and calls to ext4_find_extent() and ext4_cache_extents() may occur, which could potentially insert the truncated range as a hole into the extent status tree. After the split is completed, this hole is not replaced with the correct status. [UUUUUUU|UUUUUUUU] on-disk extent U: unwritten extent [UUUUUUU|HHHHHHHH] extent status tree H: hole Then, the outer calling functions will not correct this remaining hole extent either. Finally, if we perform a delayed buffer write on this latter part, it will re-insert the delayed extent and cause an error in space accounting. In adition, if the unwritten extent cache is not shrunk during the splitting, ext4_cache_extents() also conflicts with existing extents when caching extents. In the future, we will add checks when caching extents, which will trigger a warning. Therefore, Do not cache extents that are being split.
A vulnerability exists in the Linux kernel's ext4 filesystem related to how extent information is cached during the splitting process. This issue can lead to stale extent data remaining in the extent status tree, causing inconsistencies. The vulnerability affects the Linux kernel's stable group, specifically in versions prior to the latest commit on March 4, 2026. The problem arises when an unwritten extent is partially written using Direct I/O, and the extent is subsequently split. The splitting process can create a 'hole' in the extent status tree, which is not properly corrected, leading to errors in space accounting. Additionally, if the cache for unwritten extents is not properly managed during splitting, it can conflict with existing extent data.
Users can update to the latest version of the Linux kernel where this vulnerability has been addressed.
Metrics
CVSS 4.0 Severity and Vector Strings:
No CVSS 4.0 data is available for this CVE.
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
No SSVC data is available for this CVE.
References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://git.kernel.org/stable/c/4c2d9dac4d328244f9365b0a1fa27ec802821820 | kernel.org | Patch |
| https://git.kernel.org/stable/c/5b1f4290453314e11cd8e15c7baa8a9b76c19b23 | kernel.org | Patch |
| https://git.kernel.org/stable/c/692103feca376ae4298c92aa8828015d20f1d87b | kernel.org | Patch |
| https://git.kernel.org/stable/c/8302b5b4aacdbb378f7b1216bb2ee782b5142415 | kernel.org | Patch |
| https://git.kernel.org/stable/c/8b4b19a2f96348d70bfa306ef7d4a13b0bcbea79 | kernel.org | Patch |
| https://git.kernel.org/stable/c/93b2ebbbcb2e63cfc21a1946dfe91d3aa7952036 | kernel.org | Patch |
| https://git.kernel.org/stable/c/96007fd3c106aea773c1afae2d6f64cceb6da208 | kernel.org | Patch |
| https://git.kernel.org/stable/c/9a2b95cdaf07785e2739199037bd9c0863ccc1be | kernel.org | Patch |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| NVD-CWE-noinfo | Insufficient Information to Classify Weakness | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| linux linux kernel | >= 3.12, < 5.10.252 >= 5.11, < 5.15.202 >= 5.16, < 6.1.165 >= 6.2, < 6.6.128 >= 6.7, < 6.12.75 >= 6.13, < 6.18.14 >= 6.19, < 6.19.4 |
CPE
Remediation
| |
Change History
3 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jun 24, 2026 | Initial Analysis | [email protected] |
| Jun 17, 2026 | CVE Modified | kernel.org |
| May 27, 2026 | New CVE Received | kernel.org |