{"id":"CVE-2026-68442","title":"btrfs: don't propagate EXTENT_FLAG_LOGGING to split extent maps","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\nbtrfs: don't propagate EXTENT_FLAG_LOGGING to split extent maps\n\nWhen btrfs_drop_extent_map_range() splits an extent map, the new split\nmaps inherit the original map's …","severity":"high","cvss":7.8,"cvssVector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","cvssSource":"cna","vendor":"Linux","product":"Linux","affected":["Linux >= f86f7a75e2fb5fd7d31d00eab8a392f97ba42ce9 < 2a9246a424f45f33a1b8367052611ebe874868ad","Linux >= f86f7a75e2fb5fd7d31d00eab8a392f97ba42ce9 < 9304713b70e7e1450e3a76e758836fe5391bfa95","Linux >= f86f7a75e2fb5fd7d31d00eab8a392f97ba42ce9 < 0e465c63f103a5ce6849614d6bda048d70eebec8","Linux >= f86f7a75e2fb5fd7d31d00eab8a392f97ba42ce9 < 5eff4d5b17fa1950e80bfd1ba43dc0699e61a644","Linux 6.8"],"ssvc":{"exploitation":"none","automatable":"no","technicalImpact":"total","timestamp":"2026-10-16T15:48:58.466646Z"},"published":"2026-08-12","updated":"2026-10-16","sourceUpdated":"2026-10-16T15:53:13.663Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-68442","references":[{"url":"https://git.kernel.org/stable/c/2a9246a424f45f33a1b8367052611ebe874868ad"},{"url":"https://git.kernel.org/stable/c/9304713b70e7e1450e3a76e758836fe5391bfa95"},{"url":"https://git.kernel.org/stable/c/0e465c63f103a5ce6849614d6bda048d70eebec8"},{"url":"https://git.kernel.org/stable/c/5eff4d5b17fa1950e80bfd1ba43dc0699e61a644"}],"tags":["cve.org"],"epss":0.00117,"epssPercentile":0.01543,"ingestedAt":"2026-10-16T17:24:46.868Z","slug":"CVE-2026-68442","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\nbtrfs: don't propagate EXTENT_FLAG_LOGGING to split extent maps\n\nWhen btrfs_drop_extent_map_range() splits an extent map, the new split\nmaps inherit the original map's flags through a local 'flags' variable.\nCommit f86f7a75e2fb (\"btrfs: use the flags of an extent map to identify\nthe compression type\") changed the EXTENT_FLAG_LOGGING clearing to\noperate on em->flags instead of that local 'flags' copy, so a split of\nan extent map that is currently being logged wrongly inherits\nEXTENT_FLAG_LOGGING.\n\nThe flag is then never cleared on the split, and when it is freed while\nstill on the inode's modified_extents list (for example by the extent\nmap shrinker) it trips the WARN_ON(!list_empty(&em->list)) in\nbtrfs_free_extent_map() and leads to a use-after-free.\n\nClear EXTENT_FLAG_LOGGING from the local 'flags' copy used for the\nsplits and only clear EXTENT_FLAG_PINNED from em->flags, restoring the\nbehaviour prior to f86f7a75e2fb.\n\n## Affected\n\n- `Linux >= f86f7a75e2fb5fd7d31d00eab8a392f97ba42ce9 < 2a9246a424f45f33a1b8367052611ebe874868ad`\n- `Linux >= f86f7a75e2fb5fd7d31d00eab8a392f97ba42ce9 < 9304713b70e7e1450e3a76e758836fe5391bfa95`\n- `Linux >= f86f7a75e2fb5fd7d31d00eab8a392f97ba42ce9 < 0e465c63f103a5ce6849614d6bda048d70eebec8`\n- `Linux >= f86f7a75e2fb5fd7d31d00eab8a392f97ba42ce9 < 5eff4d5b17fa1950e80bfd1ba43dc0699e61a644`\n- `Linux 6.8`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"twilight","depthScore":43,"depthScoreParts":{"impact":42.9,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}