CVE-2026-89611: ntfs: validate non-resident attribute offsets

Published Sep 11, 2026
·
Updated

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

ntfs: validate non-resident attribute offsets

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

However, the validator does not check that nameoffset is within safe boundaries for these operations or that the additional space is available. A malicious MFT record could set nameoffset 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, nameoffset 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 mappingpairsoffset for the compressedsize field

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

Affected Software

1 affected component
Linux Linux kernel

Event History

Sep 11, 2026
CVE Published
via MITRE·07:45 PM
Data Sourced
via MITRE·07:45 PM
Description

Frequently Asked Questions

1

What must an attacker control to trigger this issue?

An attacker needs to supply a malicious NTFS Master File Table (MFT) record with crafted non-resident attribute offsets. The record can place an attribute name at the end of the attribute or make it overlap the mapping pairs.

2

When does the unsafe write occur?

The issue is triggered when ntfs_attr_update_meta() converts a non-sparse attribute to a sparse attribute. That conversion inserts an eight-byte compressed_size field and shifts the attribute name and mapping pairs.

3

What validation does the fix add?

The fix verifies that named attribute name_offset values are within valid bounds, that names do not extend beyond the attribute or overlap mapping pairs, and that sufficient space exists for the compressed_size field. The space check also applies to unnamed attributes, where name_offset of zero is valid.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203