CVE-2026-72379
fs: refuse O_TMPFILE creation with an unmapped fsuid or fsgid
Description
In the Linux kernel, the following vulnerability has been resolved: fs: refuse O_TMPFILE creation with an unmapped fsuid or fsgid vfs_tmpfile() never checked that the caller's fsuid and fsgid map into the filesystem. On an idmapped mount whose idmapping does not cover the caller's fs{u,g}id, the ->tmpfile() instance initializes the new inode through inode_init_owner(), where mapped_fsuid()/mapped_fsgid() return INVALID_UID/INVALID_GID, and the tmpfile ends up owned by (uid_t)-1. Every other creation path already refuses this: may_o_create() (O_CREAT) and may_create_dentry() (mkdir, mknod, symlink, link) bail out with -EOVERFLOW via fsuidgid_has_mapping() precisely so that an object cannot be created with an owner the filesystem cannot represent. An O_TMPFILE is no exception: it is created I_LINKABLE and linkat(2) can splice it into the namespace afterwards, so the same guarantee must hold. Add the missing fsuidgid_has_mapping() check to vfs_tmpfile(). On a non-idmapped mount the caller's fs{u,g}id always map in the superblock's user namespace, so this is a no-op there and only takes effect on an idmapped mount that does not map the caller. It applies to every filesystem that sets FS_ALLOW_IDMAP and implements ->tmpfile() (tmpfs, ext4, btrfs, xfs, f2fs, ...), and to overlayfs, whose upper-layer tmpfile creation funnels through vfs_tmpfile() via backing_tmpfile_open().
INFO
Published Date :
Aug. 15, 2026, 6:22 a.m.
Last Modified :
Aug. 17, 2026, 6:18 a.m.
Remotely Exploit :
No
Source :
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Solution
- Apply the patch to the Linux kernel source code.
- Update the kernel to a patched version.
- Verify filesystem ID mapping rules.
- Test O_TMPFILE creation on idmapped mounts.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-72379.
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2026-72379 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2026-72379
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-72379 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-72379 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Aug. 17, 2026
Action Type Old Value New Value Changed Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '8e5389132ab429604c1a2459b52f0c849a71cc61', 'lessThan': 'bac8fb0d60254846f3b56957435dcd870ae12948', 'versionType': 'git'}, {'status': 'affected', 'version': '8e5389132ab429604c1a2459b52f0c849a71cc61', 'lessThan': '503d0568a525b168d9aa5ca046ec72fc5477df84', 'versionType': 'git'}, {'status': 'affected', 'version': '8e5389132ab429604c1a2459b52f0c849a71cc61', 'lessThan': 'a2038514e69371eb493083a6a897ed20fcbb8acb', 'versionType': 'git'}, {'status': 'affected', 'version': '8e5389132ab429604c1a2459b52f0c849a71cc61', 'lessThan': '47e434da476b5a8bcd1e6e52ab03c5ee7764ee78', 'versionType': 'git'}, {'status': 'affected', 'version': '8e5389132ab429604c1a2459b52f0c849a71cc61', 'lessThan': '539dce1144651f7976fa418e618b0b574bf15eeb', 'versionType': 'git'}], 'programFiles': ['fs/namei.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '5.13'}, {'status': 'unaffected', 'version': '0', 'lessThan': '5.13', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.97', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.40', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.5', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2-rc2', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['fs/namei.c'], 'defaultStatus': 'affected'}] [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '8e5389132ab429604c1a2459b52f0c849a71cc61', 'lessThan': 'bac8fb0d60254846f3b56957435dcd870ae12948', 'versionType': 'git'}, {'status': 'affected', 'version': '8e5389132ab429604c1a2459b52f0c849a71cc61', 'lessThan': '503d0568a525b168d9aa5ca046ec72fc5477df84', 'versionType': 'git'}, {'status': 'affected', 'version': '8e5389132ab429604c1a2459b52f0c849a71cc61', 'lessThan': 'a2038514e69371eb493083a6a897ed20fcbb8acb', 'versionType': 'git'}, {'status': 'affected', 'version': '8e5389132ab429604c1a2459b52f0c849a71cc61', 'lessThan': '47e434da476b5a8bcd1e6e52ab03c5ee7764ee78', 'versionType': 'git'}, {'status': 'affected', 'version': '8e5389132ab429604c1a2459b52f0c849a71cc61', 'lessThan': '539dce1144651f7976fa418e618b0b574bf15eeb', 'versionType': 'git'}], 'programFiles': ['fs/namei.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '5.13'}, {'status': 'unaffected', 'version': '0', 'lessThan': '5.13', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.97', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.40', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.5', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['fs/namei.c'], 'defaultStatus': 'affected'}] -
New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Aug. 15, 2026
Action Type Old Value New Value Added Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '8e5389132ab429604c1a2459b52f0c849a71cc61', 'lessThan': 'bac8fb0d60254846f3b56957435dcd870ae12948', 'versionType': 'git'}, {'status': 'affected', 'version': '8e5389132ab429604c1a2459b52f0c849a71cc61', 'lessThan': '503d0568a525b168d9aa5ca046ec72fc5477df84', 'versionType': 'git'}, {'status': 'affected', 'version': '8e5389132ab429604c1a2459b52f0c849a71cc61', 'lessThan': 'a2038514e69371eb493083a6a897ed20fcbb8acb', 'versionType': 'git'}, {'status': 'affected', 'version': '8e5389132ab429604c1a2459b52f0c849a71cc61', 'lessThan': '47e434da476b5a8bcd1e6e52ab03c5ee7764ee78', 'versionType': 'git'}, {'status': 'affected', 'version': '8e5389132ab429604c1a2459b52f0c849a71cc61', 'lessThan': '539dce1144651f7976fa418e618b0b574bf15eeb', 'versionType': 'git'}], 'programFiles': ['fs/namei.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '5.13'}, {'status': 'unaffected', 'version': '0', 'lessThan': '5.13', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.97', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.40', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.5', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2-rc2', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['fs/namei.c'], 'defaultStatus': 'affected'}] Added Description In the Linux kernel, the following vulnerability has been resolved: fs: refuse O_TMPFILE creation with an unmapped fsuid or fsgid vfs_tmpfile() never checked that the caller's fsuid and fsgid map into the filesystem. On an idmapped mount whose idmapping does not cover the caller's fs{u,g}id, the ->tmpfile() instance initializes the new inode through inode_init_owner(), where mapped_fsuid()/mapped_fsgid() return INVALID_UID/INVALID_GID, and the tmpfile ends up owned by (uid_t)-1. Every other creation path already refuses this: may_o_create() (O_CREAT) and may_create_dentry() (mkdir, mknod, symlink, link) bail out with -EOVERFLOW via fsuidgid_has_mapping() precisely so that an object cannot be created with an owner the filesystem cannot represent. An O_TMPFILE is no exception: it is created I_LINKABLE and linkat(2) can splice it into the namespace afterwards, so the same guarantee must hold. Add the missing fsuidgid_has_mapping() check to vfs_tmpfile(). On a non-idmapped mount the caller's fs{u,g}id always map in the superblock's user namespace, so this is a no-op there and only takes effect on an idmapped mount that does not map the caller. It applies to every filesystem that sets FS_ALLOW_IDMAP and implements ->tmpfile() (tmpfs, ext4, btrfs, xfs, f2fs, ...), and to overlayfs, whose upper-layer tmpfile creation funnels through vfs_tmpfile() via backing_tmpfile_open(). Added Reference https://git.kernel.org/stable/c/47e434da476b5a8bcd1e6e52ab03c5ee7764ee78 Added Reference https://git.kernel.org/stable/c/503d0568a525b168d9aa5ca046ec72fc5477df84 Added Reference https://git.kernel.org/stable/c/539dce1144651f7976fa418e618b0b574bf15eeb Added Reference https://git.kernel.org/stable/c/a2038514e69371eb493083a6a897ed20fcbb8acb Added Reference https://git.kernel.org/stable/c/bac8fb0d60254846f3b56957435dcd870ae12948