{"id":"CVE-2026-98135","state":"PUBLISHED","title":"ntfs: reject invalid sectors_per_cluster in the boot sector","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nntfs: reject invalid sectors_per_cluster in the boot sector\n\nis_boot_sector_ntfs() checks the boot sector's sectors_per_cluster field\nwith a range test that rejects 0x81..0xf3 but accepts 0 and other\nnon-power-of-two counts. A zero value reaches parse_ntfs_boot_sector():\n\n\tsectors_per_cluster_bits = ffs(sectors_per_cluster) - 1;\n\t...\n\tvol->cluster_size = vol->sector_size << sectors_per_cluster_bits;\n\nffs(0) is 0, so sectors_per_cluster_bits becomes (unsigned)-1 and the\nshift is undefined:\n\n  UBSAN: shift-out-of-bounds in fs/ntfs/super.c:673:39\n  shift exponent 4294967295 is too large for 32-bit type 'int'\n\nThis change rejects any non-power-of-two value, since it feeds the\naforementioned shift via ffs() - 1, which only yields the correct shift for a\npower of two.","publishedAt":"2026-09-25T10:36:13.510Z","updatedAt":"2026-10-19T09:14:29.078Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"6251f0b0de7d645e3591931ca4c11d8322c1866f","status":"affected","lessThan":"7524c3145a3bac92bebbc47a29c007f1d874c9b3","versionType":"git"},{"version":"6251f0b0de7d645e3591931ca4c11d8322c1866f","status":"affected","lessThan":"323751a604e7533fa473874d999371592a614207","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/ntfs/super.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"7.1","status":"affected"},{"version":"0","status":"unaffected","lessThan":"7.1","versionType":"semver"},{"version":"7.2.7","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/ntfs/super.c"]}],"references":["https://git.kernel.org/stable/c/7524c3145a3bac92bebbc47a29c007f1d874c9b3","https://git.kernel.org/stable/c/323751a604e7533fa473874d999371592a614207"],"weaknesses":[],"ingestedAt":"2026-10-29T20:13:43.249Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/98xxx/CVE-2026-98135.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-98135","state":"PUBLISHED","datePublished":"2026-09-25T10:36:13.510Z","dateUpdated":"2026-10-19T09:14:29.078Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-09-25T10:25:14.319Z"},"containers":{"cna":{"title":"ntfs: reject invalid sectors_per_cluster in the boot sector","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nntfs: reject invalid sectors_per_cluster in the boot sector\n\nis_boot_sector_ntfs() checks the boot sector's sectors_per_cluster field\nwith a range test that rejects 0x81..0xf3 but accepts 0 and other\nnon-power-of-two counts. A zero value reaches parse_ntfs_boot_sector():\n\n\tsectors_per_cluster_bits = ffs(sectors_per_cluster) - 1;\n\t...\n\tvol->cluster_size = vol->sector_size << sectors_per_cluster_bits;\n\nffs(0) is 0, so sectors_per_cluster_bits becomes (unsigned)-1 and the\nshift is undefined:\n\n  UBSAN: shift-out-of-bounds in fs/ntfs/super.c:673:39\n  shift exponent 4294967295 is too large for 32-bit type 'int'\n\nThis change rejects any non-power-of-two value, since it feeds the\naforementioned shift via ffs() - 1, which only yields the correct shift for a\npower of two."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"6251f0b0de7d645e3591931ca4c11d8322c1866f","status":"affected","lessThan":"7524c3145a3bac92bebbc47a29c007f1d874c9b3","versionType":"git"},{"version":"6251f0b0de7d645e3591931ca4c11d8322c1866f","status":"affected","lessThan":"323751a604e7533fa473874d999371592a614207","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/ntfs/super.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"7.1","status":"affected"},{"version":"0","status":"unaffected","lessThan":"7.1","versionType":"semver"},{"version":"7.2.7","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/ntfs/super.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/7524c3145a3bac92bebbc47a29c007f1d874c9b3"},{"url":"https://git.kernel.org/stable/c/323751a604e7533fa473874d999371592a614207"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-19T09:14:29.078Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"7.1","versionEndExcluding":"7.2.7"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"7.1","versionEndExcluding":"7.3"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}