CVE-2026-89617: fs/ntfs3: validate dirty page table on log replay

Published Sep 11, 2026
·
Updated

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

fs/ntfs3: validate dirty page table on log replay

Each DIRPAGEENTRY ends in a pagelcns[] array whose length is the on-disk lcnsfollow field. checkrstbl() validates the table bookkeeping but never checks that this array fits in the entry, so a crafted lcnsfollow lets the v0->v1 conversion memmove and later replay passes run off the entry.

Add checkdptable() to reject, right after checkrstbl(), any entry larger than its size claims via structsize() (the same expression used to allocate these entries, so the check is overflow-safe by construction). All consumers can then trust lcnsfollow as the real capacity. This covers every pagelcns[] access whose index is bounded by the entry itself (the conversion memmove, the HotFix store via finddp(), and the self-bounded scan loops). Accesses whose index comes from the log record need a separate bound and are handled in a follow-up patch.

Affected Software

1 affected component
The Linux Kernel Organization 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

When can this flaw be reached?

It is reached during NTFS3 log replay when processing a dirty page table entry whose on-disk lcns_follow value makes the page_lcns[] array larger than the entry permits.

2

What attacker-controlled condition is required?

An attacker needs to supply crafted on-disk dirty page table data with an invalid lcns_follow value. That value can cause conversion and replay processing to access memory beyond the affected entry.

3

What does the fix validate?

The fix rejects dirty page table entries whose claimed page_lcns[] size exceeds the entry size calculated with struct_size(). This makes lcns_follow trustworthy for accesses bounded by the entry itself.

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