{"id":"DEBIAN-CVE-2026-46251","details":"In the Linux kernel, the following vulnerability has been resolved:  btrfs: fix block_group_tree dirty_list corruption  When the incompat flag EXTENT_TREE_V2 is set, we unconditionally add the block group tree to the switch_commits list before calling switch_commit_roots, as we do for the tree root and the chunk root. However, the block group tree uses normal root dirty tracking and in any transaction that does an allocation and dirties a block group, the block group root will already be linked to a list by the dirty_list field and this use of list_add_tail() is invalid and corrupts the prev/next members of block_group_root-\u003edirty_list.  This is apparent on a subsequent list_del on the prev if we enable CONFIG_DEBUG_LIST:    [32.1571] ------------[ cut here ]------------   [32.1572] list_del corruption. next-\u003eprev should beffff958890202538, but was ffff9588992bd538. (next=ffff958890201538)   [32.1575] WARNING: lib/list_debug.c:65 at 0x0, CPU#3: sync/607   [32.1583] CPU: 3 UID: 0 PID: 607 Comm: sync Not tainted 6.18.0 #24PREEMPT(none)   [32.1585] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS1.17.0-4.fc41 04/01/2014   [32.1587] RIP: 0010:__list_del_entry_valid_or_report+0x108/0x120   [32.1593] RSP: 0018:ffffaa288287fdd0 EFLAGS: 00010202   [32.1594] RAX: 0000000000000001 RBX: ffff95889326e800 RCX:ffff958890201538   [32.1596] RDX: ffff9588992bd538 RSI: ffff958890202538 RDI:ffffffff82a41e00   [32.1597] RBP: ffff958890202538 R08: ffffffff828fc1e8 R09:00000000ffffefff   [32.1599] R10: ffffffff8288c200 R11: ffffffff828e4200 R12:ffff958890201538   [32.1601] R13: ffff95889326e958 R14: ffff958895c24000 R15:ffff958890202538   [32.1603] FS:  00007f0c28eb5740(0000) GS:ffff958af2bd2000(0000)knlGS:0000000000000000   [32.1605] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033   [32.1607] CR2: 00007f0c28e8a3cc CR3: 0000000109942005 CR4:0000000000370ef0   [32.1609] Call Trace:   [32.1610]  \u003cTASK\u003e   [32.1611]  switch_commit_roots+0x82/0x1d0 [btrfs]   [32.1615]  btrfs_commit_transaction+0x968/0x1550 [btrfs]   [32.1618]  ? btrfs_attach_transaction_barrier+0x23/0x60 [btrfs]   [32.1621]  __iterate_supers+0xe8/0x190   [32.1622]  ? __pfx_sync_fs_one_sb+0x10/0x10   [32.1623]  ksys_sync+0x63/0xb0   [32.1624]  __do_sys_sync+0xe/0x20   [32.1625]  do_syscall_64+0x73/0x450   [32.1626]  entry_SYSCALL_64_after_hwframe+0x76/0x7e   [32.1627] RIP: 0033:0x7f0c28d05d2b   [32.1632] RSP: 002b:00007ffc9d988048 EFLAGS: 00000246 ORIG_RAX:00000000000000a2   [32.1634] RAX: ffffffffffffffda RBX: 00007ffc9d988228 RCX:00007f0c28d05d2b   [32.1636] RDX: 00007f0c28e02301 RSI: 00007ffc9d989b21 RDI:00007f0c28dba90d   [32.1637] RBP: 0000000000000001 R08: 0000000000000001 R09:0000000000000000   [32.1639] R10: 0000000000000000 R11: 0000000000000246 R12:000055b96572cb80   [32.1641] R13: 000055b96572b19f R14: 00007f0c28dfa434 R15:000055b96572b034   [32.1643]  \u003c/TASK\u003e   [32.1644] irq event stamp: 0   [32.1644] hardirqs last  enabled at (0): [\u003c0000000000000000\u003e] 0x0   [32.1646] hardirqs last disabled at (0): [\u003cffffffff81298817\u003e]copy_process+0xb37/0x2260   [32.1648] softirqs last  enabled at (0): [\u003cffffffff81298817\u003e]copy_process+0xb37/0x2260   [32.1650] softirqs last disabled at (0): [\u003c0000000000000000\u003e] 0x0   [32.1652] ---[ end trace 0000000000000000 ]---  Furthermore, this list corruption eventually (when we happen to add a new block group) results in getting the switch_commits and dirty_cowonly_roots lists mixed up and attempting to call update_root on the tree root which can't be found in the tree root, resulting in a transaction abort:    [87.8269] BTRFS critical (device nvme1n1): unable to find root key (1 0 0) in tree 1   [87.8272] ------------[ cut here ]------------   [87.8274] BTRFS: Transaction aborted (error -117)   [87.8275] WARNING: fs/btrfs/root-tree.c:153 at 0x0, CPU#4: sync/703   [87.8285] CPU: 4 UID: 0 PID: 703 Comm: sync Not tainted 6.18.0 #25 PREEMPT(none)   [87.8287] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.17.0-4.fc41 0 ---truncated---","modified":"2026-09-14T17:03:41.445597215Z","published":"2026-06-03T18:16:25.603Z","upstream":["CVE-2026-46251"],"references":[{"type":"ADVISORY","url":"https://security-tracker.debian.org/tracker/CVE-2026-46251"}],"affected":[{"package":{"name":"linux","ecosystem":"Debian:12","purl":"pkg:deb/debian/linux?arch=source&distro=bookworm"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.1.170-1"}]}],"versions":["6.1.106-1","6.1.106-2","6.1.106-3","6.1.112-1","6.1.115-1","6.1.119-1","6.1.123-1","6.1.124-1","6.1.128-1","6.1.129-1","6.1.133-1","6.1.135-1","6.1.137-1","6.1.139-1","6.1.140-1","6.1.147-1","6.1.148-1","6.1.153-1","6.1.158-1","6.1.159-1","6.1.162-1","6.1.164-1","6.1.27-1","6.1.37-1","6.1.38-1","6.1.38-2","6.1.38-2~bpo11+1","6.1.38-3","6.1.38-4","6.1.38-4~bpo11+1","6.1.52-1","6.1.55-1","6.1.55-1~bpo11+1","6.1.64-1","6.1.66-1","6.1.67-1","6.1.69-1","6.1.69-1~bpo11+1","6.1.76-1","6.1.76-1~bpo11+1","6.1.82-1","6.1.85-1","6.1.90-1","6.1.90-1~bpo11+1","6.1.94-1","6.1.94-1~bpo11+1","6.1.98-1","6.1.99-1"],"ecosystem_specific":{"urgency":"not yet assigned"},"database_specific":{"source":"https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-46251.json"}},{"package":{"name":"linux","ecosystem":"Debian:13","purl":"pkg:deb/debian/linux?arch=source&distro=trixie"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.12.85-1"}]}],"versions":["6.12.38-1","6.12.41-1","6.12.43-1","6.12.43-1~bpo12+1","6.12.48-1","6.12.57-1","6.12.57-1~bpo12+1","6.12.63-1","6.12.63-1~bpo12+1","6.12.69-1","6.12.69-1~bpo12+1","6.12.73-1","6.12.73-1~bpo12+1","6.12.74-1","6.12.74-2","6.12.74-2~bpo12+1","6.12.85-1~bpo12+1"],"ecosystem_specific":{"urgency":"not yet assigned"},"database_specific":{"source":"https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-46251.json"}},{"package":{"name":"linux","ecosystem":"Debian:14","purl":"pkg:deb/debian/linux?arch=source&distro=forky"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.18.14-1"}]}],"versions":["6.12.100-1","6.12.101-1","6.12.105-1","6.12.107-1","6.12.38-1","6.12.41-1","6.12.43-1","6.12.43-1~bpo12+1","6.12.48-1","6.12.57-1","6.12.57-1~bpo12+1","6.12.63-1","6.12.63-1~bpo12+1","6.12.69-1","6.12.69-1~bpo12+1","6.12.73-1","6.12.73-1~bpo12+1","6.12.74-1","6.12.74-2","6.12.74-2~bpo12+1","6.12.85-1","6.12.85-1~bpo12+1","6.12.86-1","6.12.86-1~bpo12+1","6.12.88-1","6.12.88-1~bpo12+1","6.12.90-1","6.12.90-1~bpo12+1","6.12.90-2","6.12.90-2~bpo12+1","6.12.94-1","6.12.94-1~bpo12+1","6.12.95-1","6.12.95-1~bpo12+1","6.12.96-1","6.13.10-1~exp1","6.13.11-1~exp1","6.13.2-1~exp1","6.13.3-1~exp1","6.13.4-1~exp1","6.13.5-1~exp1","6.13.6-1~exp1","6.13.7-1~exp1","6.13.8-1~exp1","6.13.9-1~exp1","6.13~rc6-1~exp1","6.13~rc7-1~exp1","6.14.3-1~exp1","6.14.5-1~exp1","6.14.6-1~exp1","6.15-1~exp1","6.15.1-1~exp1","6.15.2-1~exp1","6.15.3-1~exp1","6.15.4-1~exp1","6.15.5-1~exp1","6.15.6-1~exp1","6.15~rc7-1~exp1","6.16-1~exp1","6.16.1-1~exp1","6.16.10-1","6.16.11-1","6.16.12-1","6.16.12-1~bpo13+1","6.16.12-2","6.16.3-1","6.16.3-1~bpo13+1","6.16.5-1","6.16.6-1","6.16.7-1","6.16.8-1","6.16.9-1","6.16~rc7-1~exp1","6.17.10-1","6.17.11-1","6.17.12-1","6.17.13-1","6.17.13-1~bpo13+1","6.17.2-1~exp1","6.17.5-1~exp1","6.17.6-1","6.17.7-1","6.17.7-2","6.17.8-1","6.17.8-1~bpo13+1","6.17.9-1","6.18.1-1~exp1","6.18.10-1","6.18.12-1","6.18.12-1~bpo13+1","6.18.13-1","6.18.2-1~exp1","6.18.3-1","6.18.5-1","6.18.5-1~bpo13+1","6.18.8-1","6.18.9-1","6.18.9-1~bpo13+1","6.18~rc4-1~exp1","6.18~rc4-1~exp2","6.18~rc5-1~exp1","6.18~rc6-1~exp1","6.18~rc7-1~exp1"],"ecosystem_specific":{"urgency":"not yet assigned"},"database_specific":{"source":"https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-46251.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"}]}