CVE-2026-53027

fs/ntfs3: fix missing run load for vcn0 in attr_data_get_block_locked()

State
Published
Severity
Not scored
Published
Jun 24, 2026
Updated
Oct 30, 2026
Reserved
Jun 9, 2026

Read the record on cve.org

Description

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

fs/ntfs3: fix missing run load for vcn0 in attr_data_get_block_locked()

When a compressed or sparse attribute has its clusters frame-aligned, vcn is rounded down to the frame start using cmask, which can result in vcn != vcn0. In this case, vcn and vcn0 may reside in different attribute segments.

The code already handles the case where vcn is in a different segment by loading its runs before allocation. However, it fails to load runs for vcn0 when vcn0 resides in a different segment than vcn. This causes run_lookup_entry() to return SPARSE_LCN for vcn0 since its segment was never loaded into the in-memory run list, triggering the WARN_ON(1).

Fix this by adding a missing check for vcn0 after the existing vcn segment check. If vcn0 falls outside the current segment range [svcn, evcn1), find and load the attribute segment containing vcn0 before performing the run lookup.

The following scenario triggers the bug: attr_data_get_block_locked() vcn = vcn0 & cmask <- vcn != vcn0 after frame alignment load runs for vcn segment <- vcn0 segment not loaded! attr_allocate_clusters() <- allocation succeeds run_lookup_entry(vcn0) <- vcn0 not in run -> SPARSE_LCN WARN_ON(1) <- bug fires here!

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 406a037d93b769bca248476bd14bbe548dc1ec35 to before 543093f65318d012850e548b241f85381b14d643Affected
  • c380b52f6c5702cc4bdda5e6d456d6c19a201a0b to before ea59d9dbc5504e29d420ac4aab774cbce39b0e69Affected
  • c380b52f6c5702cc4bdda5e6d456d6c19a201a0b to before d68a14450783ecc5fddae957ac4e1c546dfcfb73Affected
  • c380b52f6c5702cc4bdda5e6d456d6c19a201a0b to before 08fad5d5a26cc55c0ecb68ac59ba3be5e31f4147Affected
  • c380b52f6c5702cc4bdda5e6d456d6c19a201a0b to before 2b4ae1ce613ade8a7e118fba4a5a77cd23e97e54Affected
  • c380b52f6c5702cc4bdda5e6d456d6c19a201a0b to before d7ea8495fd307b58f8867acd81a1b40075b1d3baAffected
  • 6.1.132 to before 6.1.191Affected
LinuxLinux
  • 6.2Affected
  • before 6.2Not affected
  • 6.1.191 through 6.1.*Not affected
  • 6.6.145 through 6.6.*Not affected
  • 6.12.96 through 6.12.*Not affected
  • 6.18.39 through 6.18.*Not affected
  • 7.0.10 through 7.0.*Not affected
  • 7.1 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.