---
id: CVE-2026-72470
title: 'fs/ntfs3: resize log->one_page_buf when adopting on-disk page size'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  fs/ntfs3: resize log->one_page_buf when adopting on-disk page size

  log_replay() allocates log->one_page_buf using the page size that was
  chosen from the host PAGE_SIZE…
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
cvssSource: cna
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= b46acd6a6a627d876898e1c84d3f84902264b445 <
    220a6ef5e89a11ffd5e490046b86dc9fb6da0e4b
  - >-
    Linux >= b46acd6a6a627d876898e1c84d3f84902264b445 <
    2097a2537d9d1c29c0e20ed0dbf717a0ccd8f374
  - >-
    Linux >= b46acd6a6a627d876898e1c84d3f84902264b445 <
    f1422df595d69b997d23a8f11e12c528ccef7fad
  - >-
    Linux >= b46acd6a6a627d876898e1c84d3f84902264b445 <
    4f129fc6f756f8541e5bff45b1804cc11b1ec712
  - >-
    Linux >= b46acd6a6a627d876898e1c84d3f84902264b445 <
    c99444f6dfca893f6d310aae4a53c620f98f7b4f
  - >-
    Linux >= b46acd6a6a627d876898e1c84d3f84902264b445 <
    5a35454179fe1041d9cd286f5d320ce0d448c12a
  - Linux 5.15
published: '2026-08-15'
updated: '2026-10-30'
sourceUpdated: '2026-10-30T12:29:28.441Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-72470'
references:
  - url: 'https://git.kernel.org/stable/c/220a6ef5e89a11ffd5e490046b86dc9fb6da0e4b'
  - url: 'https://git.kernel.org/stable/c/2097a2537d9d1c29c0e20ed0dbf717a0ccd8f374'
  - url: 'https://git.kernel.org/stable/c/f1422df595d69b997d23a8f11e12c528ccef7fad'
  - url: 'https://git.kernel.org/stable/c/4f129fc6f756f8541e5bff45b1804cc11b1ec712'
  - url: 'https://git.kernel.org/stable/c/c99444f6dfca893f6d310aae4a53c620f98f7b4f'
  - url: 'https://git.kernel.org/stable/c/5a35454179fe1041d9cd286f5d320ce0d448c12a'
tags:
  - cve.org
epss: 0.00176
epssPercentile: 0.07117
ingestedAt: '2026-11-05T15:02:32.527Z'
---

## Overview

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

fs/ntfs3: resize log->one_page_buf when adopting on-disk page size

log_replay() allocates log->one_page_buf using the page size that was
chosen from the host PAGE_SIZE:

	log->one_page_buf = kmalloc(log->page_size, GFP_NOFS);

Later, when a restart area is found, the log page size recorded on disk
is adopted:

	t32 = le32_to_cpu(log->rst_info.r_page->sys_page_size);
	if (log->page_size != t32) {
		log->l_size = log->orig_file_size;
		log->page_size = norm_file_page(t32, &log->l_size,
						t32 == DefaultLogPageSize);
	}

If the on-disk page size is larger than the size used for the initial
allocation, log->page_size grows but one_page_buf is left at its
original, smaller size. A subsequent unaligned read_log_page() then
reads log->page_size bytes into the undersized scratch buffer:

	page_buf = page_off ? log->one_page_buf : *buffer;
	err = ntfs_read_run_nb_ra(ni->mi.sbi, &ni->file.run, page_vbo, page_buf,
				  log->page_size, NULL, &log->read_ahead);

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).

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 error path.

## Affected

- `Linux >= b46acd6a6a627d876898e1c84d3f84902264b445 < 220a6ef5e89a11ffd5e490046b86dc9fb6da0e4b`
- `Linux >= b46acd6a6a627d876898e1c84d3f84902264b445 < 2097a2537d9d1c29c0e20ed0dbf717a0ccd8f374`
- `Linux >= b46acd6a6a627d876898e1c84d3f84902264b445 < f1422df595d69b997d23a8f11e12c528ccef7fad`
- `Linux >= b46acd6a6a627d876898e1c84d3f84902264b445 < 4f129fc6f756f8541e5bff45b1804cc11b1ec712`
- `Linux >= b46acd6a6a627d876898e1c84d3f84902264b445 < c99444f6dfca893f6d310aae4a53c620f98f7b4f`
- `Linux >= b46acd6a6a627d876898e1c84d3f84902264b445 < 5a35454179fe1041d9cd286f5d320ce0d448c12a`
- `Linux 5.15`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
