HIGH Introduced in 5.15
ntfs3 DirtyPageTable OOB
CVE-2026-89617
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
KernelScan AI6.7MEDIUM
01Description
In the Linux kernel, the following vulnerability has been resolved: fs/ntfs3: validate dirty page table on log replay Each DIR_PAGE_ENTRY ends in a page_lcns[] array whose length is the on-disk lcns_follow field. check_rstbl() validates the table bookkeeping but never checks that this array fits in the entry, so a crafted lcns_follow lets the v0->v1 conversion memmove and later replay passes run off the entry. Add check_dp_table() to reject, right after check_rstbl(), any entry larger than its size claims via struct_size() (the same expression used to allocate these entries, so the check is overflow-safe by construction). All consumers can then trust lcns_follow as the real capacity. This covers every page_lcns[] access whose index is bounded by the entry itself (the conversion memmove, the HotFix store via find_dp(), 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.
02KernelScan AI Analysis
Risk summary
A crafted NTFS filesystem image can trigger out-of-bounds memory access during journal log replay, corrupting kernel heap memory. Exploitation requires mounting the malicious image, which needs real administrator privileges. Devices that accept removable NTFS-formatted media or allow administrators to mount arbitrary images are at risk.
Vulnerability analysis
The NTFS3 driver reads an on-disk length field during journal replay that controls how many cluster numbers follow each dirty-page record, but never checks that the declared array actually fits inside the record. A crafted filesystem can inflate this length, causing the replay code to copy data past the end of the record into adjacent kernel heap memory. The fix adds validation that rejects any record whose declared array would exceed its actual allocated size, before the replay logic processes it. The bug is reachable only when mounting a crafted NTFS filesystem image, which requires real administrator privileges in the initial namespace — unprivileged users cannot mount NTFS volumes.
Lifecycle
03Fix Versions
| Branch | Introduced | Fixed in | Patch commit |
|---|---|---|---|
| mainline | 5.15 | 7.3-rc1 | 006cb7713dec |
| 6.12 | 5.15 | 6.12.109 | 1200c2779c43 |
| 5.15 | 5.15 | 5.15.221 | 0e07ea2fc45a |
| 6.1 | 5.15 | 6.1.188 | 1e90b1703ee1 |
| 6.18 | 5.15 | 6.18.50 | 2d94ffc9d7b5 |
| 7.2 | 5.15 | 7.2.4 | 0908da07c23b |
| 6.6 | 5.15 | 6.6.157 | d23155634a4b |
| cip/6.12 | 5.15 | 6.12.111-cip32 | 1200c2779c43 |