{"id":"CVE-2026-99051","revision":"cabd90040a2d432b84a396b9b732a81f","records":[{"revision":"cabd90040a2d432b84a396b9b732a81f","observedAt":"2026-10-23T16:01:20.601+00:00","statement":{"source":"cve-program","id":"CVE-2026-99051","aliases":[],"title":"fsverity: RCU-delay the freeing of struct fsverity_info","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nfsverity: RCU-delay the freeing of struct fsverity_info\n\n__fsverity_get_info() calls rhashtable_lookup_fast(), which just uses\nrcu_read_lock() and doesn't directly synchronize with\nfsverity_remove_info().\n\nFor the same inode this isn't a problem: its fsverity_info is removed\nonly at inode eviction time or upon failure to enable verity, when the\ninode no longer needs its fsverity_info and it will no longer be\naccessed via that inode.\n\nHowever, this is broken and can cause a use-after-free for concurrent\n__fsverity_get_info() for *different* inodes.  Those rely on following\nfsverity_info::rhash_head in the rhashtable under rcu_read_lock() only.\nThey also use fsverity_info::inode to do the key comparison.\n\nFix this by RCU-delaying the freeing of 'struct fsverity_info' after\nit's been removed from the rhashtable.","state":0,"publishedAt":"2026-10-23T12:22:30.37+00:00","modifiedAt":"2026-10-23T12:22:30.37+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"fs/verity/fsverity_private.h\",\n                        \"fs/verity/open.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"f77f281b61183a5c0b87e6a4d101c70bd32c1c79\",\n                            \"lessThan\": \"fa84f091a8e7fc46fd29834496fab9739dd4c8dc\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"f77f281b61183a5c0b87e6a4d101c70bd32c1c79\",\n                            \"lessThan\": \"e58c3805ed325fe2d4ae2dd467c0486cc860b733\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"fs/verity/fsverity_private.h\",\n                        \"fs/verity/open.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"7.0\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"7.0\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.2.11\",\n                            \"lessThanOrEqual\": \"7.2.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.3\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[],"references":["https://git.kernel.org/stable/c/fa84f091a8e7fc46fd29834496fab9739dd4c8dc","https://git.kernel.org/stable/c/e58c3805ed325fe2d4ae2dd467c0486cc860b733"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-99051","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-99051","identifiers":["CVE-2026-99051"]},"retained":false,"historicalAffected":[]}],"coverage":[]}