GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

CVE-2026-89785 (GCVE-0-2026-89785)

Vulnerability from cvelistv5 – Published: 2026-09-16 08:48 – Updated: 2026-09-16 08:48
VLAI
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.
Impacted 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 Create a notification for this product.
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 Create a notification for this product.
Show details on NVD website

{
  "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"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

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…

Detection rules are retrieved from Rulezet.

Loading…

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…