{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-72185","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2026-08-09T03:40:39.911Z","datePublished":"2026-08-15T05:53:47.388Z","dateUpdated":"2026-08-17T05:41:15.234Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-17T05:41:15.234Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nntfs: fix WARN_ON for resident attribute in ntfs_map_runlist_nolock()\n\nWhen ntfs_map_runlist_nolock() needs to look up the attribute extent\ncontaining a target VCN (ctx_needs_reset == true), it calls\nntfs_attr_lookup() and then expects the result to be a non-resident\nattribute, since only non-resident attributes have a mapping pairs\narray to decompress.\n\nA crafted NTFS image can place a resident attribute where a non-resident\none is expected, causing ntfs_attr_lookup() to succeed but return a\nresident attribute record.  Previously this was caught only by a\nWARN_ON(), which does not stop execution.  The code then falls through to\nread a->data.non_resident.highest_vcn from what is actually a resident\nattribute, accessing the wrong union member and corrupting the VCN range\ncheck.\n\nThe caller path triggering this warning during mount is:\n\n  ntfs_map_runlist_nolock\n  ntfs_empty_logfile\n  load_system_files\n  ntfs_fill_super\n\nIn this path ctx is NULL, so ntfs_map_runlist_nolock() allocates a\ntemporary search context internally and sets ctx_needs_reset = true.\nThe existing resident-attribute guard in the ctx != NULL branch already\nreturns -EIO silently for the same condition; make the ctx_needs_reset\npath consistent by replacing the WARN_ON() with the same -EIO error\nreturn.\n\nThis causes the crafted image to be rejected with a mount error instead\nof triggering a kernel warning."}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","baseScore":9.8,"baseSeverity":"CRITICAL"},"scenarios":[{"lang":"en","value":"AV:N - The bug is in fs/ntfs runlist mapping reached from ntfs_fill_super→ntfs_empty_logfile on mount and from VFS read/iomap paths (ntfs_attr_vcn_to_rl→ntfs_map_runlist_nolock); when a classic NTFS volume is exported via ksmbd or nfsd, a remote client read triggers the same mapping code on the server without local shell access.\nAC:L - An attacker fully controls the crafted NTFS image: placing a resident $DATA extent where a non-resident one is expected makes ntfs_attr_lookup() succeed, bypasses the old WARN_ON-only guard, and deterministically drives the wrong union reads and mapping-pairs decompression with no races or victim-specific memory layout.\nPR:N - Exploitation needs only a malicious NTFS image and access to have it parsed—no root on the target—via udev/systemd automount of attacker USB media, CAP_SYS_ADMIN mount of a loop image, or a remote ksmbd/nfsd client with guest/anonymous read (or write) on an already-exported NTFS share.\nUI:N - Once the crafted volume is mounted (automounter, admin, or server export), a single attacker-initiated mount or remote file read that maps an affected non-resident extent triggers the bug; no further victim clicks, prompts, or confirmation are required beyond supplying the image.\nS:U - Union confusion and forged runlist handling corrupt kernel heap metadata and can issue attacker-influenced block-device writes within the same host OS security domain; impact is local privilege escalation or disk corruption, not VM/hypervisor, IOMMU, or container sandbox escape.\nC:H - WARN_ON does not stop execution; the code reads non_resident.highest_vcn and mapping_pairs_offset from a resident attribute union, then ntfs_mapping_pairs_decompress() scans attacker-controlled bytes as mapping pairs, yielding out-of-bounds kernel reads and disclosure/corruption primitives beyond a simple warning.\nI:H - Successful decompression installs an attacker-forged runlist; on rw mount ntfs_empty_logfile() uses those LCNs to write 0xff-filled clusters via ntfs_bdev_write() to arbitrary disk offsets, and heap runlist allocation from forged mapping pairs enables arbitrary kernel memory corruption and potential control-flow hijack.\nA:H - The vulnerable path continues after WARN_ON instead of returning -EIO, so malformed mapping-pair decompression and use of a corrupted runlist can provoke kernel warnings, I/O errors, oops, or panic during mount or subsequent NTFS I/O, causing high availability impact even when full exploitation is not attempted."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/ntfs/attrib.c"],"versions":[{"version":"495e90fa334828d4119061e2726af51d0a0fb4ed","lessThan":"b397b1238a217264bb02f963a1a1eadf71906375","status":"affected","versionType":"git"},{"version":"495e90fa334828d4119061e2726af51d0a0fb4ed","lessThan":"b8d6c528e9d57d263fee1a648409f84a68b2561d","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/ntfs/attrib.c"],"versions":[{"version":"7.1","status":"affected"},{"version":"0","lessThan":"7.1","status":"unaffected","versionType":"semver"},{"version":"7.1.5","lessThanOrEqual":"7.1.*","status":"unaffected","versionType":"semver"},{"version":"7.2","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"7.1","versionEndExcluding":"7.1.5"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"7.1","versionEndExcluding":"7.2"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/b397b1238a217264bb02f963a1a1eadf71906375"},{"url":"https://git.kernel.org/stable/c/b8d6c528e9d57d263fee1a648409f84a68b2561d"}],"title":"ntfs: fix WARN_ON for resident attribute in ntfs_map_runlist_nolock()","x_generator":{"engine":"bippy-1.2.0"}}}}