<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-09-29T04:55:52.491702+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/cve-2023-53618</id>
    <title>CVE-2023-53618 — btrfs: reject invalid reloc tree root keys with stack dump</title>
    <updated>2026-09-29T04:55:52.521995+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Linux</p>
<p>In the Linux kernel, the following vulnerability has been resolved:</p>
<p>btrfs: reject invalid reloc tree root keys with stack dump</p>
<p>[BUG]
Syzbot reported a crash that an ASSERT() got triggered inside
prepare_to_merge().</p>
<p>That ASSERT() makes sure the reloc tree is properly pointed back by its
subvolume tree.</p>
<p>[CAUSE]
After more debugging output, it turns out we had an invalid reloc tree:</p>
<p>BTRFS error (device loop1): reloc tree mismatch, root 8 has no reloc root, expect reloc root key (-8, 132, 8) gen 17</p>
<p>Note the above root key is (TREE_RELOC_OBJECTID, ROOT_ITEM,
QUOTA_TREE_OBJECTID), meaning it's a reloc tree for quota tree.</p>
<p>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.</p>
<p>Only subvolumes tree can share tree blocks with other trees (thus they
have BTRFS_ROOT_SHAREABLE flag).</p>
<p>Thus this new debug output proves my previous assumption that corrupted
on-disk data can trigger that ASSERT().</p>
<p>[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.</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/cve-2023-53618"/>
  </entry>
</feed>
