---
id: CVE-2026-98135
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  ntfs: reject invalid sectors_per_cluster in the boot sector

  is_boot_sector_ntfs() checks the boot sector's sectors_per_cluster field
  with a range test that rejects 0x8…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  ntfs: reject invalid sectors_per_cluster in the boot sector

  is_boot_sector_ntfs() checks the boot sector's sectors_per_cluster field
  with a range test that rejects 0x8…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 6251f0b0de7d645e3591931ca4c11d8322c1866f <
    7524c3145a3bac92bebbc47a29c007f1d874c9b3
  - >-
    Linux >= 6251f0b0de7d645e3591931ca4c11d8322c1866f <
    323751a604e7533fa473874d999371592a614207
  - Linux 7.1
published: '2026-09-25'
updated: '2026-09-25'
sourceUpdated: '2026-09-25T11:17:44.933'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-98135'
references:
  - url: 'https://git.kernel.org/stable/c/323751a604e7533fa473874d999371592a614207'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/7524c3145a3bac92bebbc47a29c007f1d874c9b3'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
ingestedAt: '2026-09-25T11:06:38.812Z'
---

## Overview

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

ntfs: reject invalid sectors_per_cluster in the boot sector

is_boot_sector_ntfs() checks the boot sector's sectors_per_cluster field
with a range test that rejects 0x81..0xf3 but accepts 0 and other
non-power-of-two counts. A zero value reaches parse_ntfs_boot_sector():

	sectors_per_cluster_bits = ffs(sectors_per_cluster) - 1;
	...
	vol->cluster_size = vol->sector_size << sectors_per_cluster_bits;

ffs(0) is 0, so sectors_per_cluster_bits becomes (unsigned)-1 and the
shift is undefined:

  UBSAN: shift-out-of-bounds in fs/ntfs/super.c:673:39
  shift exponent 4294967295 is too large for 32-bit type 'int'

This change rejects any non-power-of-two value, since it feeds the
aforementioned shift via ffs() - 1, which only yields the correct shift for a
power of two.

## Remediation

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