{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-74595","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2026-08-15T05:44:03.919Z","datePublished":"2026-08-22T15:31:45.649Z","dateUpdated":"2026-08-25T05:40:22.483Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-25T05:40:22.483Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nfscrypt: use the mount idmap for the owner check in fscrypt_ioctl_set_policy()\n\nfscrypt_ioctl_set_policy() calls inode_owner_or_capable() with\n&nop_mnt_idmap before allowing an encryption policy to be set, instead\nof the idmap of the mount the ioctl was issued on.\n\nfscrypt is used by filesystems that support idmapped mounts (e.g. ext4,\nf2fs), so on such a mount this compares the caller's fsuid against the\nunmapped on-disk owner rather than the mapped owner: the actual owner\ncan be wrongly denied with -EACCES and an unrelated caller wrongly\nallowed.  Use file_mnt_idmap(filp) instead."}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - Exploitation requires a local process to open a directory on an idmapped ext4/f2fs filesystem and issue FS_IOC_SET_ENCRYPTION_POLICY via ioctl(); there is no network, adjacent-radio, or physical-device attack path to the vulnerable fscrypt_ioctl_set_policy() check.\nAC:L - On idmapped mounts the UID mismatch is structural, not random: any local user whose fsuid equals the inode's unmapped on-disk owner can open an empty victim directory, add their own fscrypt key, and trigger the ioctl without races or attacker-uncontrollable memory layout.\nPR:L - Only basic local user privileges are needed; the attacker must be able to open the target directory and call FS_IOC_ADD_ENCRYPTION_KEY plus FS_IOC_SET_ENCRYPTION_POLICY, with no real-root or init-namespace capability required beyond normal DAC permissions on the path.\nUI:N - Exploitation requires no action by the victim; the attacker alone issues the ioctl on an empty directory they can open, and the authorization bypass occurs entirely within the attacker's own syscall sequence.\nS:U - This is an incorrect inode_owner_or_capable() authorization check in the kernel fscrypt ioctl path on idmapped mounts; impact stays within the same kernel security authority and does not constitute VM escape, hypervisor bypass, or IOMMU boundary crossing.\nC:H - A wrongly authorized attacker can bind a victim's empty directory to an attacker-controlled fscrypt master key, then decrypt any sensitive files the victim later creates there, giving broad read access to victim data rather than a small bounded leak.\nI:H - The ioctl persistently modifies filesystem encryption policy and on-disk fscrypt context for a directory the attacker does not own, granting unauthorized control over a critical security property of victim data at rest.\nA:H - The bug both wrongly denies legitimate directory owners with -EACCES and lets attackers encrypt a victim's empty directory with an attacker-held key, preventing the real owner from using or recovering that directory and its future contents."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/crypto/policy.c"],"versions":[{"version":"14f3db5542e62bcf6fe088a09760ac52d55306c5","lessThan":"174633a468817a49bd474bcfc9067c84e54efe68","status":"affected","versionType":"git"},{"version":"14f3db5542e62bcf6fe088a09760ac52d55306c5","lessThan":"0baeb730044981f5ec5fb7d62a3763835ea606f6","status":"affected","versionType":"git"},{"version":"14f3db5542e62bcf6fe088a09760ac52d55306c5","lessThan":"33b7e810ce09955aa02f3b632455cf5e7ac990a9","status":"affected","versionType":"git"},{"version":"14f3db5542e62bcf6fe088a09760ac52d55306c5","lessThan":"6a67c460b12315033268dce597546984fe5739e7","status":"affected","versionType":"git"},{"version":"14f3db5542e62bcf6fe088a09760ac52d55306c5","lessThan":"653e888a24c87b8bbeab44d7e558a1c1a3641088","status":"affected","versionType":"git"},{"version":"14f3db5542e62bcf6fe088a09760ac52d55306c5","lessThan":"98516ba8b817f34e86bdd7a5b7a383cff75c3ddf","status":"affected","versionType":"git"},{"version":"14f3db5542e62bcf6fe088a09760ac52d55306c5","lessThan":"cf6c993c0feca7984797e634deba3c80342e199a","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/crypto/policy.c"],"versions":[{"version":"5.12","status":"affected"},{"version":"0","lessThan":"5.12","status":"unaffected","versionType":"semver"},{"version":"5.15.217","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"6.1.184","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.6.152","lessThanOrEqual":"6.6.*","status":"unaffected","versionType":"semver"},{"version":"6.12.104","lessThanOrEqual":"6.12.*","status":"unaffected","versionType":"semver"},{"version":"6.18.45","lessThanOrEqual":"6.18.*","status":"unaffected","versionType":"semver"},{"version":"7.1.9","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":"5.12","versionEndExcluding":"5.15.217"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.12","versionEndExcluding":"6.1.184"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.12","versionEndExcluding":"6.6.152"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.12","versionEndExcluding":"6.12.104"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.12","versionEndExcluding":"6.18.45"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.12","versionEndExcluding":"7.1.9"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.12","versionEndExcluding":"7.2"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/174633a468817a49bd474bcfc9067c84e54efe68"},{"url":"https://git.kernel.org/stable/c/0baeb730044981f5ec5fb7d62a3763835ea606f6"},{"url":"https://git.kernel.org/stable/c/33b7e810ce09955aa02f3b632455cf5e7ac990a9"},{"url":"https://git.kernel.org/stable/c/6a67c460b12315033268dce597546984fe5739e7"},{"url":"https://git.kernel.org/stable/c/653e888a24c87b8bbeab44d7e558a1c1a3641088"},{"url":"https://git.kernel.org/stable/c/98516ba8b817f34e86bdd7a5b7a383cff75c3ddf"},{"url":"https://git.kernel.org/stable/c/cf6c993c0feca7984797e634deba3c80342e199a"}],"title":"fscrypt: use the mount idmap for the owner check in fscrypt_ioctl_set_policy()","x_generator":{"engine":"bippy-1.2.0"}}}}