<?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-28T22:57:01.158149+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-2026-23249</id>
    <title>CVE-2026-23249 — xfs: check for deleted cursors when revalidating two btrees</title>
    <updated>2026-09-28T22:57:01.222416+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>xfs: check for deleted cursors when revalidating two btrees</p>
<p>The free space and inode btree repair functions will rebuild both btrees
at the same time, after which it needs to evaluate both btrees to
confirm that the corruptions are gone.</p>
<p>However, Jiaming Zhang ran syzbot and produced a crash in the second
xchk_allocbt call.  His root-cause analysis is as follows (with minor
corrections):</p>
<p>In xrep_revalidate_allocbt(), xchk_allocbt() is called twice (first
 for BNOBT, second for CNTBT). The cause of this issue is that the
 first call nullified the cursor required by the second call.</p>
<p>Let's first enter xrep_revalidate_allocbt() via following call chain:</p>
<p>xfs_file_ioctl() -&gt;
 xfs_ioc_scrubv_metadata() -&gt;
 xfs_scrub_metadata() -&gt;
 `sc-&gt;ops-&gt;repair_eval(sc)` -&gt;
 xrep_revalidate_allocbt()</p>
<p>xchk_allocbt() is called twice in this function. In the first call:</p>
<p>/* Note that sc-&gt;sm-&gt;sm_type is XFS_SCRUB_TYPE_BNOPT now */
 xchk_allocbt() -&gt;
 xchk_btree() -&gt;
 `bs-&gt;scrub_rec(bs, recp)` -&gt;
 xchk_allocbt_rec() -&gt;
 xchk_allocbt_xref() -&gt;
 xchk_allocbt_xref_other()</p>
<p>since sm_type is XFS_SCRUB_TYPE_BNOBT, pur is set to &amp;sc-&gt;sa.cnt_cur.
 Kernel called xfs_alloc_get_rec() and returned -EFSCORRUPTED. Call
 chain:</p>
<p>xfs_alloc_get_rec() -&gt;
 xfs_btree_get_rec() -&gt;
 xfs_btree_check_block() -&gt;
 (XFS_IS_CORRUPT || XFS_TEST_ERROR), the former is false and the latter
 is true, return -EFSCORRUPTED. This should be caused by
 ioct…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/cve-2026-23249"/>
  </entry>
</feed>
