In the Linux kernel, the following vulnerability has been resolved:
kernfs: fix xattr race condition with multiple superblocks
Multiple superblocks with different namespaces can share the same kernfsnode when kernfstestsuper() finds a matching root but different namespace. This means multiple inodes from different superblocks can reference the same kernfsnode->iattr->xattrs structure.
The VFS layer only holds per-inode locks during xattr operations, which is insufficient to serialize concurrent xattr modifications on the shared kernfsnode. This can lead to race conditions in simplexattr_set() where the lookup->replace/remove sequence is not atomic with respect to operations from other superblocks.
Fix this by protecting xattr operations with the existing hashed kernfslocks->openfile_mutex[] array, which is already used to protect per-node open file data. The hashed mutex array provides scalable per-node serialization (scaled by CPU count, up to 1024 locks on 32+ CPU systems) with zero memory overhead.
Changes: - Rename openfilemutex[] to nodemutex[] to reflect dual purpose - Add kernfsnodelockptr() and kernfsnodelock() helpers - Protect simplexattrset() calls in kernfsxattrset() and kernfsvfsuserxattrset() with the hashed mutex - Update file.c to use new helpers via compatibility wrappers - Update documentation to explain the extended lock usage
{
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/74xxx/CVE-2026-74343.json"
}