CVE-2026-68442: btrfs: don't propagate EXTENT_FLAG_LOGGING to split extent maps
In the Linux kernel, the following vulnerability has been resolved:
btrfs: don't propagate EXTENTFLAGLOGGING to split extent maps
When btrfsdropextentmaprange() splits an extent map, the new split maps inherit the original map's flags through a local 'flags' variable. Commit f86f7a75e2fb ("btrfs: use the flags of an extent map to identify the compression type") changed the EXTENTFLAGLOGGING clearing to operate on em->flags instead of that local 'flags' copy, so a split of an extent map that is currently being logged wrongly inherits EXTENTFLAGLOGGING.
The flag is then never cleared on the split, and when it is freed while still on the inode's modifiedextents list (for example by the extent map shrinker) it trips the WARNON(!listempty(&em->list)) in btrfsfreeextentmap() and leads to a use-after-free.
Clear EXTENTFLAGLOGGING from the local 'flags' copy used for the splits and only clear EXTENTFLAGPINNED from em->flags, restoring the behaviour prior to f86f7a75e2fb.
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-68442?
CVE-2026-68442 has a risk rating of 48.
How does CVE-2026-68442 affect the Linux Kernel?
CVE-2026-68442 affects the Linux Kernel by improperly propagating EXTENT_FLAG_LOGGING to split extent maps, potentially leading to unintended behavior.
What systems are impacted by CVE-2026-68442?
CVE-2026-68442 impacts systems using the Btrfs file system within the Linux Kernel.
How do I fix CVE-2026-68442?
To fix CVE-2026-68442, update your Linux Kernel to the latest stable version where the vulnerability is patched.
Is there a workaround for CVE-2026-68442?
There are no known workarounds for CVE-2026-68442 other than applying the available patches.