CVE-2026-68149: fs: preserve ACL_DONT_CACHE state in forget_cached_acl()
In the Linux kernel, the following vulnerability has been resolved:
fs: preserve ACLDONTCACHE state in forgetcachedacl()
The ACLDONTCACHE state is meant to be a constant state for the inode for filesystems that want to opt out of posix acl caching.
Commit facd61053cff1 ("fuse: fixes after adapting to new posix acl api") used this facility to opt out of posix acl caching for fuse inodes with fuse server that does not negotiate FUSEPOSIXACL (fc->posixacl).
The commit also takes care to gate the forgetallcachedacls() call in fusesetacl() on fc->posixacl because there is no need for it, but there are other placed in fuse code which call forgetallcachedacls() unconditional to fc->posixacl and those cause the loss of the ACLDONTCACHE state.
This is not only a functional bug. Properly timed, a getacl() from this fuse filesystem can return a stale cached value, as was observed in tests, because setacl() does not invalidate the unintentional acl cache.
We could fix this in fuse, but it actually makes no sense for the vfs helper forgetcachedacl() to invalidate the ACLDONTCACHE state, so let it not do that to fix fuse and future users of ACLDONTCACHE.
Event History
Frequently Asked Questions
What is the severity of CVE-2026-68149?
The severity of CVE-2026-68149 is rated at risk level 27.
What systems are affected by CVE-2026-68149?
CVE-2026-68149 affects Linux kernel implementations that utilize the ACL_DONT_CACHE state.
How do I fix CVE-2026-68149?
To fix CVE-2026-68149, update to the latest patched version of the Linux kernel.
What is the impact of CVE-2026-68149?
The impact of CVE-2026-68149 can lead to inconsistent permissions due to incorrect handling of the ACL_DONT_CACHE state.
Is there a workaround for CVE-2026-68149?
Currently, there is no official workaround for CVE-2026-68149 other than applying the necessary kernel updates.