<?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>Wed, 30 Sep 2026 01:28:16 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-72470 — fs/ntfs3: resize log-&gt;one_page_buf when adopting on-disk page size</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-72470</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;fs/ntfs3: resize log-&amp;gt;one_page_buf when adopting on-disk page size&lt;/p&gt;
&lt;p&gt;log_replay() allocates log-&amp;gt;one_page_buf using the page size that was
chosen from the host PAGE_SIZE:&lt;/p&gt;
&lt;p&gt;log-&amp;gt;one_page_buf = kmalloc(log-&amp;gt;page_size, GFP_NOFS);&lt;/p&gt;
&lt;p&gt;Later, when a restart area is found, the log page size recorded on disk
is adopted:&lt;/p&gt;
&lt;p&gt;t32 = le32_to_cpu(log-&amp;gt;rst_info.r_page-&amp;gt;sys_page_size);
	if (log-&amp;gt;page_size != t32) {
		log-&amp;gt;l_size = log-&amp;gt;orig_file_size;
		log-&amp;gt;page_size = norm_file_page(t32, &amp;amp;log-&amp;gt;l_size,
						t32 == DefaultLogPageSize);
	}&lt;/p&gt;
&lt;p&gt;If the on-disk page size is larger than the size used for the initial
allocation, log-&amp;gt;page_size grows but one_page_buf is left at its
original, smaller size. A subsequent unaligned read_log_page() then
reads log-&amp;gt;page_size bytes into the undersized scratch buffer:&lt;/p&gt;
&lt;p&gt;page_buf = page_off ? log-&amp;gt;one_page_buf : *buffer;
	err = ntfs_read_run_nb_ra(ni-&amp;gt;mi.sbi, &amp;amp;ni-&amp;gt;file.run, page_vbo, page_buf,
				  log-&amp;gt;page_size, NULL, &amp;amp;log-&amp;gt;read_ahead);&lt;/p&gt;
&lt;p&gt;overflowing the allocation. This is reachable when mounting a dirty
NTFS volume whose log was formatted with a page size larger than the
buffer initially allocated on the mounting host (for example a 64K-log
volume mounted on a host that allocated a 4K scratch buffer).&lt;/p&gt;
&lt;p&gt;Grow one_page_buf when the adopted on-disk page size exceeds the size
used for the initial allocation. On krealloc() failure the original
buffer is left intact and freed by the existing erro…&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;fs/ntfs3: resize log-&amp;gt;one_page_buf when adopting on-disk page size&lt;/p&gt;
&lt;p&gt;log_replay() allocates log-&amp;gt;one_page_buf using the page size that was
chosen from the host PAGE_SIZE:&lt;/p&gt;
&lt;p&gt;log-&amp;gt;one_page_buf = kmalloc(log-&amp;gt;page_size, GFP_NOFS);&lt;/p&gt;
&lt;p&gt;Later, when a restart area is found, the log page size recorded on disk
is adopted:&lt;/p&gt;
&lt;p&gt;t32 = le32_to_cpu(log-&amp;gt;rst_info.r_page-&amp;gt;sys_page_size);
	if (log-&amp;gt;page_size != t32) {
		log-&amp;gt;l_size = log-&amp;gt;orig_file_size;
		log-&amp;gt;page_size = norm_file_page(t32, &amp;amp;log-&amp;gt;l_size,
						t32 == DefaultLogPageSize);
	}&lt;/p&gt;
&lt;p&gt;If the on-disk page size is larger than the size used for the initial
allocation, log-&amp;gt;page_size grows but one_page_buf is left at its
original, smaller size. A subsequent unaligned read_log_page() then
reads log-&amp;gt;page_size bytes into the undersized scratch buffer:&lt;/p&gt;
&lt;p&gt;page_buf = page_off ? log-&amp;gt;one_page_buf : *buffer;
	err = ntfs_read_run_nb_ra(ni-&amp;gt;mi.sbi, &amp;amp;ni-&amp;gt;file.run, page_vbo, page_buf,
				  log-&amp;gt;page_size, NULL, &amp;amp;log-&amp;gt;read_ahead);&lt;/p&gt;
&lt;p&gt;overflowing the allocation. This is reachable when mounting a dirty
NTFS volume whose log was formatted with a page size larger than the
buffer initially allocated on the mounting host (for example a 64K-log
volume mounted on a host that allocated a 4K scratch buffer).&lt;/p&gt;
&lt;p&gt;Grow one_page_buf when the adopted on-disk page size exceeds the size
used for the initial allocation. On krealloc() failure the original
buffer is left intact and freed by the existing erro…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-72470</guid>
    </item>
  </channel>
</rss>
