CVE-2026-64533

fs/ntfs3: validate lcns_follow in log_replay conversion

State
Published
Severity
7.8 High
Published
Jul 27, 2026
Updated
Oct 19, 2026
Reserved
Jul 19, 2026

Read the record on cve.org

Description

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

fs/ntfs3: validate lcns_follow in log_replay conversion

log_replay() converts DIR_PAGE_ENTRY_32 records into DIR_PAGE_ENTRY records when replaying version 0 restart tables.

During this conversion, the memmove() length is derived directly from the on-disk lcns_follow field:

memmove(&dp->vcn, &dp0->vcn_low, 2 * sizeof(u64) + le32_to_cpu(dp->lcns_follow) * sizeof(u64));

check_rstbl() validates restart table structure, but does not constrain per-entry lcns_follow values relative to the entry size. A malformed filesystem image can provide an oversized lcns_follow value, causing the conversion memmove() to access memory beyond the bounds of the allocated restart table buffer.

The same field is later used to bound iteration over page_lcns[], so validating lcns_follow during conversion also prevents downstream out-of-bounds access from the same malformed metadata.

Compute the maximum valid lcns_follow from the already-validated restart table entry size and reject entries that exceed this bound. Reuse the existing t16/t32 scratch variables already declared in log_replay() to avoid introducing new declarations.

[almaz.alexandrovich@paragon-software.com: fixed the conflicts]

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:HLinux

Weaknesses

Affected Products

ProductVersions
LinuxLinux
  • b46acd6a6a627d876898e1c84d3f84902264b445 to before ca343a99806b4fc8e27c48f08be3445c5fcd1445Affected
  • b46acd6a6a627d876898e1c84d3f84902264b445 to before ddfc8683e1a627dbf1b83bacf8961443dd654258Affected
  • b46acd6a6a627d876898e1c84d3f84902264b445 to before 57c071e2c4f30b9c6f5aacb6679aab1269fbae99Affected
  • b46acd6a6a627d876898e1c84d3f84902264b445 to before 159f694d682e4215b3822ae31ed3a4631628fe55Affected
  • b46acd6a6a627d876898e1c84d3f84902264b445 to before 7adb38279812c9c06b0e3fa7382f4d7887f3fa2dAffected
  • b46acd6a6a627d876898e1c84d3f84902264b445 to before 32b9f8733feb241627fa5f564b1a99b5cae974c5Affected
  • b46acd6a6a627d876898e1c84d3f84902264b445 to before 6a4c53a2e26a865565bd6a460961e8d6fcb32329Affected
LinuxLinux
  • 5.15Affected
  • before 5.15Not affected
  • 5.15.212 through 5.15.*Not affected
  • 6.1.178 through 6.1.*Not affected
  • 6.6.145 through 6.6.*Not affected
  • 6.12.97 through 6.12.*Not affected
  • 6.18.40 through 6.18.*Not affected
  • 7.1.5 through 7.1.*Not affected
  • 7.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.