CVE-2026-89779

CVE-2026-89779

Critical · published September 16, 2026

CVSS v3.1
9.1
EPSS
1%
Percentile
52.5
In the wild
Unconfirmed
What it is

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

fs/ntfs3: validate ef->size covers the record's name and value

When an EA record has a non-zero ef->size, ntfs_read_ea() only checks

that the record fits in the remaining buffer (ea_size > bytes), not that

ef->size is large enough to hold the record's own name_len + 1 + elength.

A crafted image can pass validation with, e.g., ef->size = 24 but

elength = 0xffff. ntfs_get_ea() then trusts elength and copies it out of

the undersized record, reading past the kmalloc(info->size) allocation

and leaking heap memory to userspace via getxattr():

BUG: KASAN: slab-out-of-bounds in ntfs_get_ea (fs/ntfs3/xattr.c:302)

Read of size 65535 at addr ffff888100794550 by task exploit

__asan_memcpy (mm/kasan/shadow.c:105)

ntfs_get_ea (fs/ntfs3/xattr.c:302)

ntfs_getxattr (fs/ntfs3/xattr.c:848)

__vfs_getxattr (fs/xattr.c:441)

vfs_getxattr (fs/xattr.c:474)

do_getxattr (fs/xattr.c:800)

path_getxattrat (fs/xattr.c:868)

do_syscall_64 (arch/x86/entry/syscall_64.c:94)

The buggy address is located 80 bytes inside of

allocated 84-byte region in cache kmalloc-96

Compute the size the record needs and require ef->size to cover it.

The record
Technical detail
CVSS v3.1
9.1 · CRITICAL
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00697 · 52.5th percentile
Published
2026-09-16T13:17Z
References (7)
EPSS history
Timeline
  • 17 SEP 03:33Z
    EPSS moved — → 0%
    epss
  • 16 SEP 08:48Z
    fs/ntfs3: validate ef->size covers the record's name and value
    cvelistv5