CVEvulnerability
CVE-2026-89785
- Status
- Received
- Published
- 2026-09-16
- Last modified
- 2026-10-19
- Assigner
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Description
In the Linux kernel, the following vulnerability has been resolved:
fs/ntfs3: fix out-of-bounds read of INDEX_ROOT in reparse/objid init
ntfs_reparse_init() and ntfs_objid_init() parse the index root of the
$Extend/$Reparse and $Extend/$ObjId metafiles (the INDEX_ROOT attributes
named $R and $O). They read its type and rule fields through
resident_data(), which does not check that the resident attribute is
large enough to hold them.
mi_enum_attr() accepts a resident attribute with data_off == asize and
data_size == 0. For such an attribute placed last in its MFT record,
resident_data() returns a pointer to the end of the record_size buffer,
so reading root->type / root->rule reads past the allocation.
Use resident_data_ex(attr, sizeof(struct INDEX_ROOT)) and bail out when
it returns NULL, as ntfs_security_init() already does for $SDH / $SII.
The attribute is only parsed while mounting a crafted image, so this
needs CAP_SYS_ADMIN.
BUG: KASAN: slab-out-of-bounds in ntfs_reparse_init (fs/ntfs3/fsntfs.c:2306)
Read of size 4 at addr ffff88801219dc00 by task mount
ntfs_reparse_init (fs/ntfs3/fsntfs.c:2306)
ntfs_fill_super (fs/ntfs3/super.c:1604)
get_tree_bdev_flags (fs/super.c:1703)
vfs_get_tree (fs/super.c:1758)
path_mount (fs/namespace.c:4131)
__x64_sys_mount (fs/namespace.c:4360)
References
- https://git.kernel.org/stable/c/2064bc663f89e61b8681c1fb9d1ce445de72063d git.kernel.org
- https://git.kernel.org/stable/c/64bb6000bfbdf241a6dd578199acd90321a4243e git.kernel.org
- https://git.kernel.org/stable/c/66c074eab6f966fbe48a0fc4b3a45b2a2e2df527 git.kernel.org
- https://git.kernel.org/stable/c/72caafbc95c5dca8266a942b8e96ad81d8d9adc7 git.kernel.org
- https://git.kernel.org/stable/c/94fce1d3e74fe011e21f17490ba58491709fd7e5 git.kernel.org
- https://git.kernel.org/stable/c/bd631e2005290a55c8edda87363bc0d594c01705 git.kernel.org
- https://git.kernel.org/stable/c/eb80003744e32a7366a523015e4acfe0a2ac7d88 git.kernel.org