Get a Demo

Let's Patch It!

Book a short call with one our specialists, we'll walk you through how Endor Patches work, and ask you a few questions about your environment (like your primary programming languages and repository management). We'll also send you an email right after you fill out the form, feel free to reply with any questions you have in advance!

CVE

CVE-2026-90048

fs/ntfs3: fix slab-out-of-bounds write in ni_create_attr_list()
Back to all
CVE

CVE-2026-90048

fs/ntfs3: fix slab-out-of-bounds write in ni_create_attr_list()

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

fs/ntfs3: fix slab-out-of-bounds write in nicreateattr_list()

nicreateattrlist() allocates a fixed buffer of alaligned(record_size)

(== record_size) bytes and then walks every attribute of the primary MFT

record, writing one ATTRLISTENTRY per attribute and advancing the cursor

by lesize(namelen), with no check against the end of the buffer; the

total size is only computed after the loop.

A minimum-size resident attribute occupies SIZEOF_RESIDENT (0x18 = 24)

bytes on disk, but an unnamed attribute expands to le_size(0) (0x20 = 32)

bytes in the list.  Because the number of attributes in a record is not

bounded (mienumattr() accepts arbitrarily many equal-type, nameless

minimum-size attributes), a crafted record packed with such attributes

produces a list larger than record_size and overflows the heap buffer.

This is reachable from a crafted, loop-mounted NTFS image: opening the file

and adding an attribute (e.g. via setxattr) drives ntfssetea() ->

niinsertresident() -> niinsertattr() -> niinsattr_ext() ->

nicreateattr_list().

  BUG: KASAN: slab-out-of-bounds in nicreateattr_list+0xc48/0x1058

  Write of size 4 at addr ffff000008984c00 by task setfattr/345

   nicreateattr_list+0xc48/0x1058

   niinsattr_ext+0x510/0x7c0

   niinsertattr+0x3f8/0x70c

   niinsertresident+0xc8/0x3b0

   ntfssetea+0x66c/0xd28

   ntfs_setxattr+0x4d8/0x5b0

   _arm64sys_setxattr+0xa4/0x124

  Allocated by task 345:

   nicreateattr_list+0x188/0x1058

  The buggy address belongs to the cache kmalloc-1k of size 1024

  (the write lands at object+1024).

Size the buffer from the actual attributes instead of assuming a single

record_size is always enough.

Package Versions Affected

Package Version
patch Availability
No items found.

Automatically patch vulnerabilities without upgrading

Fix Without Upgrading
Detect compatible fix
Apply safe remediation
Fix with a single pull request

CVSS Version

Severity
Base Score
CVSS Version
Score Vector
C
H
U
9.8
-
3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
C
H
U
0
-
3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
C
H
U
-

Related Resources

No items found.

References

https://git.kernel.org/stable/c/7c4841e2a62794a3bab7c1ff0540580f387e377f, https://git.kernel.org/stable/c/7e9aee7e4d9767cc3e423b3beecb01c7ebb6bbcd, https://git.kernel.org/stable/c/a84f3db72561c4d9281c5ff721ce46b9ffa7f30e, https://git.kernel.org/stable/c/d07e281f2a7710502985d6f80b95ddac8f4e81d5, https://git.kernel.org/stable/c/fa2215cf451414b0512cd6f7d37a057893811f4d, https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/90xxx/CVE-2026-90048.json, https://nvd.nist.gov/vuln/detail/CVE-2026-90048, https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Severity

9.8

CVSS Score
0
10

Basic Information

Base CVSS
9.8
EPSS Probability
0.00671%
EPSS Percentile
0.5063%
Introduced Version
4342306f0f0d5ff4315a204d315c1b51b914fca5,5.15.0,6.7.0,6.13.0,6.19.0,0
Fix Available
7c4841e2a62794a3bab7c1ff0540580f387e377f,6.6.157,6.12.110,6.18.51,7.2.5,6.12.111-1~deb12u1,6.12.111-1

Fix Critical Vulnerabilities Instantly

Secure your app without upgrading.
Fix Without Upgrading