CVE-2026-89785 (GCVE-0-2026-89785)
Vulnerability from cvelistv5 – Published: 2026-09-16 08:48 – Updated: 2026-09-16 08:48
VLAI
EPSS
VEX
Title
fs/ntfs3: fix out-of-bounds read of INDEX_ROOT in reparse/objid init
Summary
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)
Severity
No CVSS data available.
Assigner
References
7 references
Impacted products
2 products
| Vendor | Product | Version | CPE status | |
|---|---|---|---|---|
| Linux | Linux |
Affected:
82cae269cfa953032fbb8980a7d554d60fb00b17 , < eb80003744e32a7366a523015e4acfe0a2ac7d88
(git)
Affected: 82cae269cfa953032fbb8980a7d554d60fb00b17 , < bd631e2005290a55c8edda87363bc0d594c01705 (git) Affected: 82cae269cfa953032fbb8980a7d554d60fb00b17 , < 94fce1d3e74fe011e21f17490ba58491709fd7e5 (git) Affected: 82cae269cfa953032fbb8980a7d554d60fb00b17 , < 66c074eab6f966fbe48a0fc4b3a45b2a2e2df527 (git) Affected: 82cae269cfa953032fbb8980a7d554d60fb00b17 , < 64bb6000bfbdf241a6dd578199acd90321a4243e (git) Affected: 82cae269cfa953032fbb8980a7d554d60fb00b17 , < 72caafbc95c5dca8266a942b8e96ad81d8d9adc7 (git) Affected: 82cae269cfa953032fbb8980a7d554d60fb00b17 , < 2064bc663f89e61b8681c1fb9d1ce445de72063d (git) |
guessed | |
| Linux | Linux |
Affected:
5.15
Unaffected: 0 , < 5.15 (semver) Unaffected: 5.15.221 , ≤ 5.15.* (semver) Unaffected: 6.1.188 , ≤ 6.1.* (semver) Unaffected: 6.6.157 , ≤ 6.6.* (semver) Unaffected: 6.12.110 , ≤ 6.12.* (semver) Unaffected: 6.18.52 , ≤ 6.18.* (semver) Unaffected: 7.2.6 , ≤ 7.2.* (semver) Unaffected: 7.3-rc1 , ≤ * (original_commit_for_fix) |
guessed |
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"fs/ntfs3/fsntfs.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "eb80003744e32a7366a523015e4acfe0a2ac7d88",
"status": "affected",
"version": "82cae269cfa953032fbb8980a7d554d60fb00b17",
"versionType": "git"
},
{
"lessThan": "bd631e2005290a55c8edda87363bc0d594c01705",
"status": "affected",
"version": "82cae269cfa953032fbb8980a7d554d60fb00b17",
"versionType": "git"
},
{
"lessThan": "94fce1d3e74fe011e21f17490ba58491709fd7e5",
"status": "affected",
"version": "82cae269cfa953032fbb8980a7d554d60fb00b17",
"versionType": "git"
},
{
"lessThan": "66c074eab6f966fbe48a0fc4b3a45b2a2e2df527",
"status": "affected",
"version": "82cae269cfa953032fbb8980a7d554d60fb00b17",
"versionType": "git"
},
{
"lessThan": "64bb6000bfbdf241a6dd578199acd90321a4243e",
"status": "affected",
"version": "82cae269cfa953032fbb8980a7d554d60fb00b17",
"versionType": "git"
},
{
"lessThan": "72caafbc95c5dca8266a942b8e96ad81d8d9adc7",
"status": "affected",
"version": "82cae269cfa953032fbb8980a7d554d60fb00b17",
"versionType": "git"
},
{
"lessThan": "2064bc663f89e61b8681c1fb9d1ce445de72063d",
"status": "affected",
"version": "82cae269cfa953032fbb8980a7d554d60fb00b17",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"fs/ntfs3/fsntfs.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "5.15"
},
{
"lessThan": "5.15",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"version": "5.15.221",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"version": "6.1.188",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"version": "6.6.157",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.110",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.52",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.2.*",
"status": "unaffected",
"version": "7.2.6",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.3-rc1",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.15.221",
"versionStartIncluding": "5.15",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.1.188",
"versionStartIncluding": "5.15",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.6.157",
"versionStartIncluding": "5.15",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12.110",
"versionStartIncluding": "5.15",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.18.52",
"versionStartIncluding": "5.15",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.2.6",
"versionStartIncluding": "5.15",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.3-rc1",
"versionStartIncluding": "5.15",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nfs/ntfs3: fix out-of-bounds read of INDEX_ROOT in reparse/objid init\n\nntfs_reparse_init() and ntfs_objid_init() parse the index root of the\n$Extend/$Reparse and $Extend/$ObjId metafiles (the INDEX_ROOT attributes\nnamed $R and $O). They read its type and rule fields through\nresident_data(), which does not check that the resident attribute is\nlarge enough to hold them.\n\nmi_enum_attr() accepts a resident attribute with data_off == asize and\ndata_size == 0. For such an attribute placed last in its MFT record,\nresident_data() returns a pointer to the end of the record_size buffer,\nso reading root-\u003etype / root-\u003erule reads past the allocation.\n\nUse resident_data_ex(attr, sizeof(struct INDEX_ROOT)) and bail out when\nit returns NULL, as ntfs_security_init() already does for $SDH / $SII.\n\nThe attribute is only parsed while mounting a crafted image, so this\nneeds CAP_SYS_ADMIN.\n\n BUG: KASAN: slab-out-of-bounds in ntfs_reparse_init (fs/ntfs3/fsntfs.c:2306)\n Read of size 4 at addr ffff88801219dc00 by task mount\n ntfs_reparse_init (fs/ntfs3/fsntfs.c:2306)\n ntfs_fill_super (fs/ntfs3/super.c:1604)\n get_tree_bdev_flags (fs/super.c:1703)\n vfs_get_tree (fs/super.c:1758)\n path_mount (fs/namespace.c:4131)\n __x64_sys_mount (fs/namespace.c:4360)"
}
],
"providerMetadata": {
"dateUpdated": "2026-09-16T08:48:23.084Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/eb80003744e32a7366a523015e4acfe0a2ac7d88"
},
{
"url": "https://git.kernel.org/stable/c/bd631e2005290a55c8edda87363bc0d594c01705"
},
{
"url": "https://git.kernel.org/stable/c/94fce1d3e74fe011e21f17490ba58491709fd7e5"
},
{
"url": "https://git.kernel.org/stable/c/66c074eab6f966fbe48a0fc4b3a45b2a2e2df527"
},
{
"url": "https://git.kernel.org/stable/c/64bb6000bfbdf241a6dd578199acd90321a4243e"
},
{
"url": "https://git.kernel.org/stable/c/72caafbc95c5dca8266a942b8e96ad81d8d9adc7"
},
{
"url": "https://git.kernel.org/stable/c/2064bc663f89e61b8681c1fb9d1ce445de72063d"
}
],
"title": "fs/ntfs3: fix out-of-bounds read of INDEX_ROOT in reparse/objid init",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-89785",
"datePublished": "2026-09-16T08:48:23.084Z",
"dateReserved": "2026-09-11T19:38:34.766Z",
"dateUpdated": "2026-09-16T08:48:23.084Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2026-89785",
"date": "2026-09-16",
"epss": "0.00205",
"percentile": "0.10808"
},
"microsoft_vex": {
"current_release_date": "2026-09-17T01:13:25.000Z",
"cve": "CVE-2026-89785",
"id": "msrc_CVE-2026-89785",
"initial_release_date": "2026-09-17T01:13:25.000Z",
"product_status:known_affected": "1",
"source": "Microsoft CSAF VEX",
"status": "final",
"title": "fs/ntfs3: fix out-of-bounds read of INDEX_ROOT in reparse/objid init",
"url": "https://msrc.microsoft.com/csaf/vex/2026/msrc_cve-2026-89785.json",
"version": "1"
},
"nvd": "{\"cve\":{\"id\":\"CVE-2026-89785\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-09-16T09:17:09.203\",\"lastModified\":\"2026-09-16T09:17:09.203\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nfs/ntfs3: fix out-of-bounds read of INDEX_ROOT in reparse/objid init\\n\\nntfs_reparse_init() and ntfs_objid_init() parse the index root of the\\n$Extend/$Reparse and $Extend/$ObjId metafiles (the INDEX_ROOT attributes\\nnamed $R and $O). They read its type and rule fields through\\nresident_data(), which does not check that the resident attribute is\\nlarge enough to hold them.\\n\\nmi_enum_attr() accepts a resident attribute with data_off == asize and\\ndata_size == 0. For such an attribute placed last in its MFT record,\\nresident_data() returns a pointer to the end of the record_size buffer,\\nso reading root-\u003etype / root-\u003erule reads past the allocation.\\n\\nUse resident_data_ex(attr, sizeof(struct INDEX_ROOT)) and bail out when\\nit returns NULL, as ntfs_security_init() already does for $SDH / $SII.\\n\\nThe attribute is only parsed while mounting a crafted image, so this\\nneeds CAP_SYS_ADMIN.\\n\\n BUG: KASAN: slab-out-of-bounds in ntfs_reparse_init (fs/ntfs3/fsntfs.c:2306)\\n Read of size 4 at addr ffff88801219dc00 by task mount\\n ntfs_reparse_init (fs/ntfs3/fsntfs.c:2306)\\n ntfs_fill_super (fs/ntfs3/super.c:1604)\\n get_tree_bdev_flags (fs/super.c:1703)\\n vfs_get_tree (fs/super.c:1758)\\n path_mount (fs/namespace.c:4131)\\n __x64_sys_mount (fs/namespace.c:4360)\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"fs/ntfs3/fsntfs.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"82cae269cfa953032fbb8980a7d554d60fb00b17\",\"lessThan\":\"eb80003744e32a7366a523015e4acfe0a2ac7d88\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"82cae269cfa953032fbb8980a7d554d60fb00b17\",\"lessThan\":\"bd631e2005290a55c8edda87363bc0d594c01705\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"82cae269cfa953032fbb8980a7d554d60fb00b17\",\"lessThan\":\"94fce1d3e74fe011e21f17490ba58491709fd7e5\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"82cae269cfa953032fbb8980a7d554d60fb00b17\",\"lessThan\":\"66c074eab6f966fbe48a0fc4b3a45b2a2e2df527\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"82cae269cfa953032fbb8980a7d554d60fb00b17\",\"lessThan\":\"64bb6000bfbdf241a6dd578199acd90321a4243e\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"82cae269cfa953032fbb8980a7d554d60fb00b17\",\"lessThan\":\"72caafbc95c5dca8266a942b8e96ad81d8d9adc7\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"82cae269cfa953032fbb8980a7d554d60fb00b17\",\"lessThan\":\"2064bc663f89e61b8681c1fb9d1ce445de72063d\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"fs/ntfs3/fsntfs.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"5.15\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"5.15\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.15.221\",\"lessThanOrEqual\":\"5.15.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.1.188\",\"lessThanOrEqual\":\"6.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.6.157\",\"lessThanOrEqual\":\"6.6.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.110\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.52\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.2.6\",\"lessThanOrEqual\":\"7.2.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.3-rc1\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/2064bc663f89e61b8681c1fb9d1ce445de72063d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/64bb6000bfbdf241a6dd578199acd90321a4243e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/66c074eab6f966fbe48a0fc4b3a45b2a2e2df527\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/72caafbc95c5dca8266a942b8e96ad81d8d9adc7\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/94fce1d3e74fe011e21f17490ba58491709fd7e5\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/bd631e2005290a55c8edda87363bc0d594c01705\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/eb80003744e32a7366a523015e4acfe0a2ac7d88\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
"suse_vex": {
"aggregate_severity": "not set",
"current_release_date": "2026-09-16T15:35:42Z",
"cve": "CVE-2026-89785",
"id": "CVE-2026-89785",
"initial_release_date": "2026-09-16T15:35:42Z",
"source": "SUSE CSAF VEX",
"status": "interim",
"title": "SUSE CVE CVE-2026-89785",
"url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-89785.json",
"version": "2"
}
}
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
The MITRE ATT&CK techniques below are AI-generated suggestions, inferred from the description of the
vulnerability by the CIRCL/vulnerability-attack-technique-classification-roberta-base
model, served locally by ML-Gateway.
They have not been verified by an analyst and are provided for guidance only.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Loading…
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.
Loading…