---
id: CVE-2026-89611
title: 'ntfs: validate non-resident attribute offsets'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  ntfs: validate non-resident attribute offsets

  ntfs_attr_update_meta() shifts the attribute name when converting between
  non-sparse and sparse attributes. Converting to…
severity: critical
cvss: 9.8
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'
cvssSource: cna
cwe:
  - CWE-787
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <
    cd7b3dc7557faadeea626034e3bac68a449851ef
  - >-
    Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <
    a83e82b0ec3ae523028e24813f23f18b43e8fc1c
  - Linux < 7.2.4
  - Linux (all versions)
published: '2026-09-11'
updated: '2026-10-19'
sourceUpdated: '2026-10-19T08:49:43.569Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-89611'
references:
  - url: 'https://git.kernel.org/stable/c/cd7b3dc7557faadeea626034e3bac68a449851ef'
  - url: 'https://git.kernel.org/stable/c/a83e82b0ec3ae523028e24813f23f18b43e8fc1c'
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89611.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-89611'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2532167'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-89611'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-89611'
  - url: >-
      https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2026/CVE-2026-89611.mbox
tags:
  - cve.org
  - csaf
  - vex
  - red-hat
  - score-dispute
epss: 0.00553
epssPercentile: 0.46017
scores:
  cna: 9.8
  vendor: 5.5
ingestedAt: '2026-09-14T15:23:07.474Z'
---

## Overview

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

ntfs: validate non-resident attribute offsets

ntfs_attr_update_meta() shifts the attribute name when converting between
non-sparse and sparse attributes. Converting to sparse also adds the
compressed_size field before the name and mapping pairs, requiring eight
additional bytes in the attribute record.

However, the validator does not check that name_offset is within safe
boundaries for these operations or that the additional space is available.
A malicious MFT record could set name_offset such that:

1. The name is positioned at the very end of a non-sparse attribute.
   Converting to sparse would shift the name forward by 8 bytes,
   writing beyond the attribute boundary.

2. The name overlaps with the mapping pairs, causing corruption during
   conversion.

Add validation to ensure:
- For named attributes, name_offset is within valid bounds
- Name does not extend beyond the attribute or overlap with mapping pairs
- For non-sparse, non-compressed attributes, eight bytes are available
  after mapping_pairs_offset for the compressed_size field

The space check also covers unnamed attributes, for which name_offset = 0
is valid and no name range needs to be checked.

## Affected

- `Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < cd7b3dc7557faadeea626034e3bac68a449851ef`
- `Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < a83e82b0ec3ae523028e24813f23f18b43e8fc1c`
- `Linux < 7.2.4`
- `Linux (all versions)`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Vendor advisories

- **Red Hat VEX** · Moderate · updated 2026-09-18 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89611.json)
