---
id: CVE-2026-89781
title: "In the Linux kernel, the following vulnerability has been resolved:\n\nfs/ntfs3: fix out-of-bounds read in read_log_rec_buf()\n\nread_log_rec_buf() copies a log record into a caller buffer starting at\n\n\tu32 off = lsn_to_page_off(log, lsn) + …"
summary: "In the Linux kernel, the following vulnerability has been resolved:\n\nfs/ntfs3: fix out-of-bounds read in read_log_rec_buf()\n\nread_log_rec_buf() copies a log record into a caller buffer starting at\n\n\tu32 off = lsn_to_page_off(log, lsn) + …"
severity: high
cvss: 8.4
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= b46acd6a6a627d876898e1c84d3f84902264b445 <
    df099bfdb57773ba7f40f8a9dcc82e75af277922
  - >-
    Linux >= b46acd6a6a627d876898e1c84d3f84902264b445 <
    1b2d31f1083beb80c55d1152249f652c1445a559
  - >-
    Linux >= b46acd6a6a627d876898e1c84d3f84902264b445 <
    700973cc65db405bde0368ccf88699390150943e
  - >-
    Linux >= b46acd6a6a627d876898e1c84d3f84902264b445 <
    49f7cbc902b08b56eb7d2633163ecc57a0e7145a
  - >-
    Linux >= b46acd6a6a627d876898e1c84d3f84902264b445 <
    74a83aa05f73033af719771ab1f0c269928b4865
  - >-
    Linux >= b46acd6a6a627d876898e1c84d3f84902264b445 <
    53e56f7aa1d0f950a8bc2e4cdb3ba9fe45967531
  - >-
    Linux >= b46acd6a6a627d876898e1c84d3f84902264b445 <
    de603b9d377fab57a5e6432fa84a9f36b32c1636
  - Linux 5.15
published: '2026-09-16'
updated: '2026-09-16'
sourceUpdated: '2026-09-16T15:18:07.470'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-89781'
references:
  - url: 'https://git.kernel.org/stable/c/1b2d31f1083beb80c55d1152249f652c1445a559'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/49f7cbc902b08b56eb7d2633163ecc57a0e7145a'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/53e56f7aa1d0f950a8bc2e4cdb3ba9fe45967531'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/700973cc65db405bde0368ccf88699390150943e'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/74a83aa05f73033af719771ab1f0c269928b4865'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/de603b9d377fab57a5e6432fa84a9f36b32c1636'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/df099bfdb57773ba7f40f8a9dcc82e75af277922'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
ingestedAt: '2026-09-16T08:52:29.593Z'
epss: 0.00182
epssPercentile: 0.08071
---

## Overview

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

fs/ntfs3: fix out-of-bounds read in read_log_rec_buf()

read_log_rec_buf() copies a log record into a caller buffer starting at

	u32 off = lsn_to_page_off(log, lsn) + log->record_header_len;

log->record_header_len (and log->data_off, used for the following pages)
comes verbatim from the on-disk restart area and is only checked for
8-byte alignment in is_rst_area_valid(), so off can exceed
log->page_size. "tail = log->page_size - off" then underflows and
memcpy() reads past the page_size-sized buffer returned by
read_log_page(), spilling adjacent slab memory into the replay buffer.

This is reachable by mounting a crafted NTFS image:

 BUG: KASAN: slab-out-of-bounds in read_log_rec_buf+0x216/0x580
 Read of size 64 at addr ffff88800a877ff8 by task exploit/127
  read_log_rec_buf fs/ntfs3/fslog.c:2299
  log_replay fs/ntfs3/fslog.c:4216
  ntfs_loadlog_and_replay fs/ntfs3/fsntfs.c:324
  ntfs_fill_super fs/ntfs3/super.c:1392
  get_tree_bdev_flags fs/super.c:1694
  __x64_sys_mount fs/namespace.c:4360
 The buggy address is located 4088 bytes to the right of
 the 4096-byte region [ffff88800a876000, ffff88800a877000)

Reject an in-page offset outside the current page before the copy.

[almaz.alexandrovich@paragon-software.com: replaced the >= sign with >]

## Remediation

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