CVE-2023-53618

Source
https://cve.org/CVERecord?id=CVE-2023-53618
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-53618.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2023-53618
Downstream
Related
Published
2025-10-07T15:19:25.303Z
Modified
2026-03-11T07:46:39.580539864Z
Summary
btrfs: reject invalid reloc tree root keys with stack dump
Details

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

btrfs: reject invalid reloc tree root keys with stack dump

[BUG] Syzbot reported a crash that an ASSERT() got triggered inside preparetomerge().

That ASSERT() makes sure the reloc tree is properly pointed back by its subvolume tree.

[CAUSE] After more debugging output, it turns out we had an invalid reloc tree:

BTRFS error (device loop1): reloc tree mismatch, root 8 has no reloc root, expect reloc root key (-8, 132, 8) gen 17

Note the above root key is (TREERELOCOBJECTID, ROOTITEM, QUOTATREE_OBJECTID), meaning it's a reloc tree for quota tree.

But reloc trees can only exist for subvolumes, as for non-subvolume trees, we just COW the involved tree block, no need to create a reloc tree since those tree blocks won't be shared with other trees.

Only subvolumes tree can share tree blocks with other trees (thus they have BTRFSROOTSHAREABLE flag).

Thus this new debug output proves my previous assumption that corrupted on-disk data can trigger that ASSERT().

[FIX] Besides the dedicated fix and the graceful exit, also let tree-checker to check such root keys, to make sure reloc trees can only exist for subvolumes.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/53xxx/CVE-2023-53618.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
259ee7754b6793af8bdd77f9ca818bc41cfe9541
Fixed
314135b7bae9618a317874ae195272682cf2d5d4
Fixed
3ae93b316ca4b8b3c33798ef1d210355f2fb9318
Fixed
84256e00eeca73c529fc6196e478cc89b8098157
Fixed
6ebcd021c92b8e4b904552e4d87283032100796d
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Last affected
3d95c52d789ca99e344061d7f6dadb2519adbcf5
Last affected
fba904d68c8bbfcc89c2210cfcb2351be90bc3e5

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-53618.json"