CVE-2026-72195

fs/ntfs3: bound attr_off in UpdateResidentValue against data_off

State
Published
Severity
7.8 High
Published
Aug 15, 2026
Updated
Oct 16, 2026
Reserved
Aug 9, 2026

Read the record on cve.org

Description

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

fs/ntfs3: bound attr_off in UpdateResidentValue against data_off

In do_action()'s UpdateResidentValue case (fslog.c:3307), lrh->attr_off and lrh->redo_len come from the on-disk LRH. When they satisfy aoff + dlen < attr->res.data_off, the assignment

attr->res.data_size = cpu_to_le32(aoff + dlen - data_off);

underflows to ~4 GiB (e.g. 0xFFFFFFF9 when aoff=0x10, dlen=1, data_off=0x18). Subsequent code that reads attr->res.data_size to walk the resident attribute payload would then read up to 4 GiB past the 1024-byte MFT record allocation.

The existing mi_enum_attr() defense in fs/ntfs3/record.c:287 catches the corrupted data_size on the next attribute walk and fails the mount, but only on the path that walks all attributes. A read site that picks an attribute by name and reads its data_size without re-validating is not covered. Validate aoff against data_off and asize at the source.

Reproduced under UML+KASAN on mainline 8d90b09e6741 via pr_warn-only probe: with aoff=0x10 and data_off=0x18, the post-assignment data_size is 0xfffffff9 (mount then fails at -22 from mi_enum_attr).

[almaz.alexandrovich@paragon-software.com: clang-formatted the changes]

Scores

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

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • b46acd6a6a627d876898e1c84d3f84902264b445 to before ab8761676d638c5be170aaf91b7ffdd451236616Affected
  • b46acd6a6a627d876898e1c84d3f84902264b445 to before 53c12f178f584dc5f836ffe2782138a6e9348ed9Affected
  • b46acd6a6a627d876898e1c84d3f84902264b445 to before 546518468e6c9ea469669eef78f8cc380ad6e2caAffected
  • b46acd6a6a627d876898e1c84d3f84902264b445 to before 97758fd9756b5f09e9ddc6a5f6a569041acc8421Affected
  • b46acd6a6a627d876898e1c84d3f84902264b445 to before 50b5e83384e7fed3d11d18b79ff350e9d6d89861Affected
  • b46acd6a6a627d876898e1c84d3f84902264b445 to before a89c66674283a0293c0f266dc57087a6114371a3Affected
  • b46acd6a6a627d876898e1c84d3f84902264b445 to before d1570c48f49a693974d000251030370ee2e83539Affected
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.