<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Sun, 04 Oct 2026 13:51:37 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-72191 — ntfs3: validate split-point offset in indx_insert_into_buffer</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-72191</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;ntfs3: validate split-point offset in indx_insert_into_buffer&lt;/p&gt;
&lt;p&gt;indx_insert_into_buffer() computes&lt;/p&gt;
&lt;p&gt;used = used1 - to_copy - sp_size;
    memmove(de_t, Add2Ptr(sp, sp_size), used - le32_to_cpu(hdr1-&amp;gt;de_off));&lt;/p&gt;
&lt;p&gt;where sp and sp_size come from hdr_find_split().  hdr_find_split()
walks entries by le16_to_cpu(e-&amp;gt;size) without validating that each
step stays within hdr-&amp;gt;used or that the size field is at least
sizeof(struct NTFS_DE).  index_hdr_check(), the on-load gatekeeper,
only validates header-level fields (used, total, de_off) and does
not walk per-entry sizes.&lt;/p&gt;
&lt;p&gt;A crafted NTFS image whose leaf INDEX_HDR reports used == total but
contains one interior NTFS_DE with size = 0xFFF0 therefore passes
validation, descends to indx_insert_into_buffer() through the
ntfs_create() -&amp;gt; indx_insert_entry() path, and makes hdr_find_split()
return an sp whose sp_size (0xFFF0) greatly exceeds the remaining
bytes in the buffer.  The u32 subtraction underflows and the memmove
count becomes a near-4-GiB value, producing an out-of-bounds kernel
write that corrupts adjacent allocations and panics the kernel.&lt;/p&gt;
&lt;p&gt;Reproduced on 7.0.0-rc7 with UML + KASAN via a crafted image and a
single &amp;#39;touch&amp;#39; inside the mounted directory; crash site resolves to
fs/ntfs3/index.c at the memmove.  Trigger requires only local mount
of an attacker-supplied filesystem image (USB, loopback, or removable
media auto-mount).&lt;/p&gt;
&lt;p&gt;Reject the split whenever the ch…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;ntfs3: validate split-point offset in indx_insert_into_buffer&lt;/p&gt;
&lt;p&gt;indx_insert_into_buffer() computes&lt;/p&gt;
&lt;p&gt;used = used1 - to_copy - sp_size;
    memmove(de_t, Add2Ptr(sp, sp_size), used - le32_to_cpu(hdr1-&amp;gt;de_off));&lt;/p&gt;
&lt;p&gt;where sp and sp_size come from hdr_find_split().  hdr_find_split()
walks entries by le16_to_cpu(e-&amp;gt;size) without validating that each
step stays within hdr-&amp;gt;used or that the size field is at least
sizeof(struct NTFS_DE).  index_hdr_check(), the on-load gatekeeper,
only validates header-level fields (used, total, de_off) and does
not walk per-entry sizes.&lt;/p&gt;
&lt;p&gt;A crafted NTFS image whose leaf INDEX_HDR reports used == total but
contains one interior NTFS_DE with size = 0xFFF0 therefore passes
validation, descends to indx_insert_into_buffer() through the
ntfs_create() -&amp;gt; indx_insert_entry() path, and makes hdr_find_split()
return an sp whose sp_size (0xFFF0) greatly exceeds the remaining
bytes in the buffer.  The u32 subtraction underflows and the memmove
count becomes a near-4-GiB value, producing an out-of-bounds kernel
write that corrupts adjacent allocations and panics the kernel.&lt;/p&gt;
&lt;p&gt;Reproduced on 7.0.0-rc7 with UML + KASAN via a crafted image and a
single &amp;#39;touch&amp;#39; inside the mounted directory; crash site resolves to
fs/ntfs3/index.c at the memmove.  Trigger requires only local mount
of an attacker-supplied filesystem image (USB, loopback, or removable
media auto-mount).&lt;/p&gt;
&lt;p&gt;Reject the split whenever the ch…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-72191</guid>
    </item>
  </channel>
</rss>
