GHSA-GR86-25PQ-RHR2
Vulnerability from github – Published: 2026-08-12 00:31 – Updated: 2026-08-12 00:31In the Linux kernel, the following vulnerability has been resolved:
btrfs: don't propagate EXTENT_FLAG_LOGGING to split extent maps
When btrfs_drop_extent_map_range() 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 EXTENT_FLAG_LOGGING 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 EXTENT_FLAG_LOGGING.
The flag is then never cleared on the split, and when it is freed while still on the inode's modified_extents list (for example by the extent map shrinker) it trips the WARN_ON(!list_empty(&em->list)) in btrfs_free_extent_map() and leads to a use-after-free.
Clear EXTENT_FLAG_LOGGING from the local 'flags' copy used for the splits and only clear EXTENT_FLAG_PINNED from em->flags, restoring the behaviour prior to f86f7a75e2fb.
{
"affected": [],
"aliases": [
"CVE-2026-68442"
],
"database_specific": {
"cwe_ids": [],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-08-12T00:17:44Z",
"severity": null
},
"details": "In the Linux kernel, the following vulnerability has been resolved:\n\nbtrfs: don\u0027t 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\u0027s flags through a local \u0027flags\u0027 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-\u003eflags instead of that local \u0027flags\u0027 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\u0027s modified_extents list (for example by the extent\nmap shrinker) it trips the WARN_ON(!list_empty(\u0026em-\u003elist)) in\nbtrfs_free_extent_map() and leads to a use-after-free.\n\nClear EXTENT_FLAG_LOGGING from the local \u0027flags\u0027 copy used for the\nsplits and only clear EXTENT_FLAG_PINNED from em-\u003eflags, restoring the\nbehaviour prior to f86f7a75e2fb.",
"id": "GHSA-gr86-25pq-rhr2",
"modified": "2026-08-12T00:31:13Z",
"published": "2026-08-12T00:31:13Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-68442"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/0e465c63f103a5ce6849614d6bda048d70eebec8"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/2a9246a424f45f33a1b8367052611ebe874868ad"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/5eff4d5b17fa1950e80bfd1ba43dc0699e61a644"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/9304713b70e7e1450e3a76e758836fe5391bfa95"
}
],
"schema_version": "1.4.0",
"severity": []
}
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.