Linux Kernel NTFS: Invalid sectors_per_cluster causes UB shift
CVE-2026-98135 Published on September 25, 2026
ntfs: reject invalid sectors_per_cluster in the boot sector
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.
Products Associated with CVE-2026-98135
Want to know whenever a new CVE is published for Linux Kernel? stack.watch will email you.
Affected Versions
Linux:- Version 6251f0b0de7d645e3591931ca4c11d8322c1866f and below 7524c3145a3bac92bebbc47a29c007f1d874c9b3 is affected.
- Version 6251f0b0de7d645e3591931ca4c11d8322c1866f and below 323751a604e7533fa473874d999371592a614207 is affected.
- Version 7.1 is affected.
- Before 7.1 is unaffected.
- Version 7.2.7, <= 7.2.* is unaffected.
- Version 7.3-rc2, <= * is unaffected.