CRITICAL Introduced in 2.6.12
ntfs AttrOffset OOB
CVE-2026-89611
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
KernelScan AI6.7MEDIUM
01Description
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.
02KernelScan AI Analysis
Risk summary
A malicious NTFS filesystem image with crafted attribute offsets can cause out-of-bounds writes in kernel memory when the kernel converts between sparse and non-sparse attribute formats. This can lead to memory corruption, potentially enabling code execution or a kernel crash. The vulnerability requires mounting a crafted NTFS image, which needs root privileges or physical access to removable media.
Vulnerability analysis
The NTFS driver does not fully validate the layout of file attributes inside a file table entry. A crafted image can place an attribute name at the very end of its record or overlapping with internal bookkeeping data, so that when the kernel later reformats the attribute during a sparse conversion, the name is shifted forward and written past the end of the allocated record, corrupting adjacent kernel memory. The fix adds bounds checks to ensure the name fits safely within the record and does not collide with other data, and it verifies there is enough room for the extra metadata field introduced by the conversion. An attacker can trigger this by supplying a malicious NTFS image and having it mounted, which requires administrator privileges or physical insertion of removable media that an automount service will mount.
Lifecycle
03Fix Versions
| Branch | Introduced | Fixed in | Patch commit |
|---|---|---|---|
| 7.2 | 2.6.12 | 7.2.4 | cd7b3dc7557f |
| mainline | 2.6.12 | 7.3 | a83e82b0ec3a |
04CIP Kernels
State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.
| CIP tree | State |
|---|---|
| cip/6.12 | Affected — no CIP fix yet (latest 6.12.112-cip33) |
| cip/6.1 | Affected — no CIP fix yet (latest 6.1.189-cip61) |
| cip/6.1-rt | Affected — no CIP fix yet (latest 6.1.189-cip61-rt32) |
| cip/5.10 | Affected — no CIP fix yet (latest 5.10.271-cip78) |
| cip/5.10-rt | Affected — no CIP fix yet (latest 5.10.268-cip77-rt34) |
| cip/4.19 | Affected — no CIP fix yet (latest 4.19.325-cip136) |
| cip/4.19-rt | Affected — no CIP fix yet (latest 4.19.325-cip136-rt50) |
| cip/4.4 | Affected — no CIP fix yet (latest 4.4.302-cip115) |
| cip/4.4-rt | Affected — no CIP fix yet (latest 4.4.302-cip115-rt63) |