CVE-2026-98136CWE-125

CVE-2026-98136

High · published September 25, 2026

CVSS v3.1
7.1
EPSS
0%
Percentile
1.2
In the wild
Unconfirmed
What it is

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

ntfs: bound $AttrDef table walk to the loaded table size

ntfs_attr_find_in_attrdef() walks the in-memory $AttrDef table, but the

loop condition bounds only the start of each entry, not the whole entry:

for (ad = vol->attrdef; (u8 *)ad - (u8 *)vol->attrdef <

vol->attrdef_size && ad->type; ++ad)

struct attr_def is 160 bytes; the guard reads ad->type at offset 128 and

the loop body reads further fields. vol->attrdef is kvzalloc(i_size),

where i_size is the on-disk $AttrDef data size, checked in

load_and_init_attrdef() only as 0 < i_size <= 0x7fffffff. A volume whose

$AttrDef data size is smaller than one entry (e.g. 120 bytes) makes the

read of ad->type run past the allocation. Creating a file reaches this

through ntfs_attr_size_bounds_check() and reads out of bounds:

BUG: KASAN: slab-out-of-bounds in ntfs_attr_find_in_attrdef+0x66/0xa0

Read of size 4 at addr ffff888005833280 by task init/1

ntfs_attr_find_in_attrdef

ntfs_attr_size_bounds_check

ntfs_attr_can_be_non_resident

ntfs_attr_add

Require the whole entry to lie within attrdef_size in the loop guard, and

reject at mount a $AttrDef too small to hold one attr_def entry.

The record
Technical detail
CVSS v3.1
7.1 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00109 · 1.2th percentile
Weakness
CWE-125 · Out-of-bounds Read
Published
2026-09-25T15:17Z
Affected products (2)
ProductVersionsFixed in
linux/linux_kernel≥ 7.1, < 7.2.77.2.7
linux/linux_kernelall versions—
References (2)
EPSS history
Timeline
  • 27 SEP 03:28Z
    EPSS moved — → 0%
    epss
  • 25 SEP 10:36Z
    ntfs: bound $AttrDef table walk to the loaded table size
    cvelistv5