CVE-2026-90117: ntfs: validate usa_ofs before preserving the update sequence number

Published Sep 17, 2026
·
Updated

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

ntfs: validate usaofs before preserving the update sequence number

When ntfsmftrecordalloc() reuses a free mft record it reads the old update sequence number straight from the on-disk record:

usn = (le16 )((u8 )m + le16tocpu(m->usaofs));

Here m points into the raw $MFT page-cache folio, which still holds unvalidated, MST-protected bytes: the folio is read by a plain iomapreadfolio() and neither postreadmstfixup() nor ntfsmftrecordcheck() has run on it (both work on private copies). m->usaofs is therefore an untrusted u16, and a corrupted record can put it past the end of the record so the two-byte read lands outside the folio. Reading such a record while creating a file gives, under KASAN:

BUG: KASAN: use-after-free in ntfsmftrecordalloc+... Read of size 2 at addr ... ntfsmftrecordalloc -> ntfscreate -> ntfscreate -> pathopenat

Only preserve the old update sequence number when usaofs is even and in range, mirroring the check ntfsmftrecordcheck() already applies; otherwise leave usn zero, which the existing restore below skips.

Affected Software

1 affected component
Linux Kernel

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Configuration

    Apply the resolved NTFS fix so that ntfs_mft_record_alloc() preserves the old update sequence number only when usa_ofs is even; validate usa_ofs before using it for the two-byte read from m at m->usa_ofs (the MST-protected update sequence number).

    Linux kernel (NTFS: ntfs_mft_record_alloc) ntfs: validate usa_ofs before preserving the update sequence number = Ensure usa_ofs is even before preserving the old update sequence number; otherwise leave usn zero

Event History

Sep 17, 2026
CVE Published
via MITRE·04:06 PM
Data Sourced
via MITRE·04:06 PM
Description

Frequently Asked Questions

1

What conditions are required to trigger the issue?

A corrupted NTFS MFT record must be reused while the kernel is creating a file. The record's untrusted update-sequence-array offset must cause the kernel's two-byte read to fall beyond the raw $MFT page-cache folio.

2

Are systems using ordinary, valid NTFS filesystems affected?

The described out-of-bounds read depends on a corrupted on-disk MFT record. The data does not indicate that a valid NTFS filesystem triggers the condition.

3

What should be done if the fix cannot be applied immediately?

Avoid creating files on NTFS filesystems with suspected corruption. The issue is reached during file creation when a free MFT record is reused.

4

How can an affected system be identified?

With KASAN enabled, the reported symptom is a use-after-free report in ntfs_mft_record_alloc during a file-creation path, such as ntfs_mft_record_alloc -> __ntfs_create -> ntfs_create -> path_openat.

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