CVE-2026-45858: ext4: don't zero the entire extent if EXT4_EXT_DATA_PARTIAL_VALID1

Published May 27, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

ext4: don't zero the entire extent if EXT4EXTDATAPARTIALVALID1

When allocating initialized blocks from a large unwritten extent, or when splitting an unwritten extent during end I/O and converting it to initialized, there is currently a potential issue of stale data if the extent needs to be split in the middle.

0 A B N [UUUUUUUUUUUU] U: unwritten extent [--DDDDDDDD--] D: valid data |<- ->| ----> this range needs to be initialized

ext4splitextent() first try to split this extent at B with EXT4EXTDATAENTIREVALID1 and EXT4EXTMAYZEROOUT flag set, but ext4splitextentat() failed to split this extent due to temporary lack of space. It zeroout B to N and mark the entire extent from 0 to N as written.

0 A B N [WWWWWWWWWWWW] W: written extent [SSDDDDDDDDZZ] Z: zeroed, S: stale data

ext4splitextent() then try to split this extent at A with EXT4EXTDATAVALID2 flag set. This time, it split successfully and left a stale written extent from 0 to A.

0 A B N [WW|WWWWWWWWWW] [SS|DDDDDDDDZZ]

Fix this by pass EXT4EXTDATAPARTIALVALID1 to ext4splitextentat() when splitting at B, don't convert the entire extent to written and left it as unwritten after zeroing out B to N. The remaining work is just like the standard two-part split. ext4splitextent() will pass the EXT4EXTDATAVALID2 flag when it calls ext4splitextentat() for the second time, allowing it to properly handle the split. If the split is successful, it will keep extent from 0 to A as unwritten.

Affected Software

16 affected components
Linux Linux kernel (ext4)
Microsoft azl3 kernel 6.6.139.1-1
Linux Linux kernel>=3.2.33<3.3
Linux Linux kernel>=3.4.16<3.5
Linux Linux kernel>=3.6.4<3.7
Linux Linux kernel>=3.7.1<6.6.130
Linux Linux kernel>=6.7<6.12.75
Linux Linux kernel>=6.13<6.18.14
Linux Linux kernel>=6.19<6.19.4
Linux Linux kernel=3.7
Linux Linux kernel=3.7-rc3
Linux Linux kernel=3.7-rc4
Linux Linux kernel=3.7-rc5
Linux Linux kernel=3.7-rc6
Linux Linux kernel=3.7-rc7
Linux Linux kernel=3.7-rc8

Event History

May 27, 2026
CVE Published
via MITRE·12:15 PM
Data Sourced
via MITRE·12:15 PM
Description
Data Sourced
via NVD·02:16 PM
RemedyDescriptionSeverityAffected Software
May 28, 2026
Data Sourced
via Microsoft·08:11 AM
DescriptionSeverityWeaknessAffected Software
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-45858?

The severity of CVE-2026-45858 is medium with a score of 5.5.

2

What are the implications of CVE-2026-45858?

CVE-2026-45858 allows for potential data loss when initializing blocks from unwritten extents in the ext4 file system.

3

How can I mitigate CVE-2026-45858?

To mitigate CVE-2026-45858, users should update their Linux kernel to the latest patched version.

4

Which systems are affected by CVE-2026-45858?

CVE-2026-45858 affects the Linux kernel with ext4 file system support and Microsoft azl3 kernel version 6.6.139.1-1.

5

What does CVE-2026-45858 entail in terms of data handling?

CVE-2026-45858 entails that the ext4 file system may improperly handle zeroing of extents, specifically affecting initialized blocks.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203