PatchSiren

PatchSiren cyber security CVE debrief

CVE-2026-45912 Linux CVE debrief

A vulnerability in the Linux kernel's ext4 filesystem could lead to stale extent entries in the extent status tree during extent splitting operations. When ext4_split_extent_at() splits an unwritten extent, the caching of extents during this process may insert truncated ranges as holes into the extent status tree. These holes are not replaced with correct status after the split completes. If a delayed buffer write is subsequently performed on the affected range, it can re-insert the delayed extent and cause errors in space accounting. The issue also creates conflicts with existing extents when caching, which may trigger warnings in future kernel versions with additional extent caching checks.

Vendor
Linux
Product
Unknown
CVSS
MEDIUM 5.5
CISA KEV
Not listed in stored evidence
Original CVE published
2026-05-27
Original CVE updated
2026-06-24
Advisory published
2026-05-27
Advisory updated
2026-06-24

Who should care

System administrators managing Linux systems with ext4 filesystems, particularly those handling workloads with direct I/O operations on large files and mixed direct/delayed write patterns. Storage engineers and kernel maintainers responsible for filesystem stability and space accounting integrity. Cloud infrastructure operators providing ext4-based storage services who need to ensure accurate disk space reporting and prevent filesystem corruption.

Technical summary

The vulnerability exists in the ext4 filesystem's extent handling code, specifically in the extent splitting path. When ext4_split_extent_at() is called to split an unwritten extent (commonly triggered by direct I/O writes), the function truncates the existing extent and inserts a new one. During this process, calls to ext4_find_extent() and ext4_cache_extents() may insert the truncated range as a hole into the extent status tree. After the split completes, this hole is not replaced with the correct status. The outer calling functions do not correct this remaining hole. If a delayed buffer write is then performed on the latter part of the split range, it re-inserts the delayed extent and causes space accounting errors. Additionally, if the unwritten extent cache is not shrunk during splitting, ext4_cache_extents() conflicts with existing extents. The fix removes extent caching during the splitting process, as the extent block entries are typically already cached beforehand and caching during split introduces race conditions with stale data.

Defensive priority

medium

Recommended defensive actions

  • Apply the relevant stable kernel patches from the Linux kernel stable tree to address the ext4 extent caching issue
  • Review systems using ext4 filesystems with heavy direct I/O and delayed write workloads for potential space accounting inconsistencies
  • Monitor kernel logs for extent status tree warnings that may indicate this condition
  • Plan kernel updates for affected systems, prioritizing those with ext4 filesystems handling large unwritten extents and mixed I/O patterns

Evidence notes

The vulnerability description is sourced from the official CVE record published by CVE.org and mirrored in the NVD. The fix involves multiple stable kernel commits addressing the extent caching behavior in ext4_split_extent_at() and related functions. The issue specifically affects the interaction between direct I/O writes to unwritten extents and subsequent delayed buffer writes.

Sources and references

Verified primary and authoritative sources

  • CVE-2026-45912 CVE Program record

    Publisher, destination, and source semantics verified

    URL: https://www.cve.org/CVERecord?id=CVE-2026-45912

    CVE Program - Official CVE Program record with source-provided CVE metadata.

  • CVE-2026-45912 NVD vulnerability detail

    Publisher, destination, and source semantics verified

    URL: https://nvd.nist.gov/vuln/detail/CVE-2026-45912

    NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.

Supplemental references

  • Source reference

    Unverified legacy reference

    URL: https://git.kernel.org/stable/c/4c2d9dac4d328244f9365b0a1fa27ec802821820

    416baaa9-dc9f-4396-8d5f-8c081fb06d67

  • Source reference

    Unverified legacy reference

    URL: https://git.kernel.org/stable/c/5b1f4290453314e11cd8e15c7baa8a9b76c19b23

    416baaa9-dc9f-4396-8d5f-8c081fb06d67

  • Source reference

    Unverified legacy reference

    URL: https://git.kernel.org/stable/c/692103feca376ae4298c92aa8828015d20f1d87b

    416baaa9-dc9f-4396-8d5f-8c081fb06d67

  • Source reference

    Unverified legacy reference

    URL: https://git.kernel.org/stable/c/8302b5b4aacdbb378f7b1216bb2ee782b5142415

    416baaa9-dc9f-4396-8d5f-8c081fb06d67

  • Source reference

    Unverified legacy reference

    URL: https://git.kernel.org/stable/c/8b4b19a2f96348d70bfa306ef7d4a13b0bcbea79

    416baaa9-dc9f-4396-8d5f-8c081fb06d67

  • Source reference

    Unverified legacy reference

    URL: https://git.kernel.org/stable/c/93b2ebbbcb2e63cfc21a1946dfe91d3aa7952036

    416baaa9-dc9f-4396-8d5f-8c081fb06d67

  • Source reference

    Unverified legacy reference

    URL: https://git.kernel.org/stable/c/96007fd3c106aea773c1afae2d6f64cceb6da208

    416baaa9-dc9f-4396-8d5f-8c081fb06d67

Methodology and review provenance

AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.