CVE-2026-31716: fs/ntfs3: validate rec->used in journal-replay file record check

Published May 1, 2026
·
Updated

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

fs/ntfs3: validate rec->used in journal-replay file record check

checkfilerecord() validates rec->total against the record size but never validates rec->used. The doaction() journal-replay handlers read rec->used from disk and use it to compute memmove lengths:

DeleteAttribute: memmove(attr, ..., used - asize - roff) CreateAttribute: memmove(..., attr, used - roff) changeattrsize: memmove(..., used - PtrOffset(rec, next))

When rec->used is smaller than the offset of a validated attribute, or larger than the record size, these subtractions can underflow allowing us to copy huge amounts of memory in to a 4kb buffer, generally considered a bad idea overall.

This requires a corrupted filesystem, which isn't a threat model the kernel really needs to worry about, but checking for such an obvious out-of-bounds value is good to keep things robust, especially on journal replay

Fix this up by bounding rec->used correctly.

This is much like commit b2bc7c44ed17 ("fs/ntfs3: Fix slab-out-of-bounds read in DeleteIndexEntryRoot") which checked different values in this same switch statement.

Affected Software

6 affected components
Linux Linux kernel (fs/ntfs3)
Linux Linux kernel>=5.15<6.6.136
Linux Linux kernel>=6.7<6.12.84
Linux Linux kernel>=6.13<6.18.25
Linux Linux kernel>=6.19<7.0.2
Linux Linux kernel=7.1-rc1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Configuration

    Apply the upstream fix that bounds/validates rec->used correctly in fs/ntfs3 journal-replay file record checking so the memmove length computations (e.g., used - roff / used - asize - roff and used - PtrOffset(rec, next)) cannot underflow or become out-of-bounds.

    Linux kernel fs/ntfs3 journal-replay file record checking validate rec->used in journal-replay file record check (change_attr_size / do_action journal-replay handlers) = Ensure rec->used is validated against the record size before using it in memmove length calculations

Event History

May 1, 2026
CVE Published
via MITRE·01:56 PM
Data Sourced
via MITRE·01:56 PM
DescriptionSeverity
Data Sourced
via NVD·02:16 PM
RemedyDescriptionSeverityWeaknessAffected Software
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-31716?

CVE-2026-31716 has a high severity rating due to the potential for information disclosure or data corruption.

2

How do I fix CVE-2026-31716?

To fix CVE-2026-31716, update your Linux kernel to the latest version that includes the patch for this vulnerability.

3

What software is affected by CVE-2026-31716?

CVE-2026-31716 affects the Linux kernel specifically within the ntfs3 filesystem module.

4

What does CVE-2026-31716 exploit?

CVE-2026-31716 exploits a validation issue where the rec->used value is not properly checked during journal replay.

5

Is there a workaround for CVE-2026-31716?

Currently, the best approach for CVE-2026-31716 is to apply the available kernel updates as no reliable workaround is suggested.

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