CVE-2026-72197

Source
https://cve.org/CVERecord?id=CVE-2026-72197
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-72197.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-72197
Downstream
Published
2026-08-15T05:53:56.149Z
Modified
2026-08-18T03:56:21.752778232Z
Severity
  • 8.4 (High) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H CVSS Calculator
Summary
fs/ntfs3: bound DeleteIndexEntryAllocation memmove length
Details

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

fs/ntfs3: bound DeleteIndexEntryAllocation memmove length

In doaction()'s DeleteIndexEntryAllocation case, e->size comes from an on-disk INDEXBUFFER entry. When e->size makes e + e->size point past hdr + hdr->used, PtrOffset(e1, Add2Ptr(hdr, used)) returns a negative ptrdifft that is silently cast to a quasi-infinite sizet when passed to memmove(). The memmove then walks past the destination buffer.

The sibling DeleteIndexEntryRoot case at fslog.c:3540-3543 already carries the corresponding guard:

if (PtrOffset(e1, Add2Ptr(hdr, used)) < esize ||
    Add2Ptr(e, esize) > Add2Ptr(lrh, rec_len) ||
    used + esize > le32_to_cpu(hdr->total)) {
    goto dirty_vol;
}

Apply the same shape to the allocation-path case. Also reject esize == 0: memmove(e, e, ...) is a no-op and leaves hdr->used unchanged, hiding a malformed entry from the existing checkindexheader() walk.

Reproduced under UML+KASAN on mainline 8d90b09e6741 by mounting a crafted NTFS image: the unguarded memmove takes a length of 0xffffffffffffff00 and the kernel oopses in memmove+0x81/0x1a0 on the do_action+0x36a2 frame.

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

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72197.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
b46acd6a6a627d876898e1c84d3f84902264b445
Fixed
c38ed2ab62fab75fd6d0fdc2bee540fbebc7b959
Fixed
b509b9613f20dc5b653d54bf78fab00d79cc43c8
Fixed
4c8aac931c1cd70347961ba5157aa916448c6a25
Fixed
f383aae59ec3994c14804f4191c59038b206be81
Fixed
09fddd52c1b0cef2c086d61be8f3d5dc92e36565
Fixed
554700c65d398276cb00a8ef95f1d5e00b9eff93
Fixed
fc4626bb3656362de8b0ecd56605d47a19ec3518

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-72197.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.15.0
Fixed
5.15.212
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.178
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.145
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.97
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.18.40
Type
ECOSYSTEM
Events
Introduced
6.19.0
Fixed
7.1.5

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-72197.json"