UBUNTU-CVE-2026-74400: Null Pointer Dereference
In the Linux kernel, the following vulnerability has been resolved: bpf: fix crash in bpf[set|remove]dentryxattr for negative dentries bpfsetdentryxattr and bpfremovedentryxattr BPF kfuncs attempt to lock the inode of the supplied dentry without checking if it is NULL. If a negative dentry is passed (e.g. from securityinodecreate), dinode(dentry) returns NULL, and inodelock(inode) will cause a NULL pointer dereference. Trivially fix this by adding a NULL check for inode before attempting to lock it, returning -EINVAL if it is NULL. Additionally, drop WARNON(!inode) in bpfxattrreadpermission() and bpfxattrwritepermission(). These warnings could be triggered by passing a negative dentry to bpfgetdentryxattr() or the locked variants of the xattr kfuncs, potentially causing a Denial of Service on systems with paniconwarn enabled. Instead, simply return -EINVAL.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
ubuntu/linux-aws-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-1014.14~24.04.1 - Upgrade
Upgrade
ubuntu/linux-azure-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-1017.17~24.04.1 - Upgrade
Upgrade
ubuntu/linux-azure-fde-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-1016.16~24.04.1 - Upgrade
Upgrade
ubuntu/linux-gcp-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-1014.14~24.04.1 - Upgrade
Upgrade
ubuntu/linux-hwe-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-38.38~24.04.4 - Upgrade
Upgrade
ubuntu/linux-nvidia-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-1024.25~24.04.1 - Upgrade
Upgrade
ubuntu/linux-oracle-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-1013.13~24.04.1 - Upgrade
Upgrade
ubuntu/linux-riscv-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-38.38.1~24.04.1 - Upgrade
Upgrade
ubuntu/linuxto a version that resolves this vulnerability.Fixed in 7.0.0-38.38 - Upgrade
Upgrade
ubuntu/linux-awsto a version that resolves this vulnerability.Fixed in 7.0.0-1014.14 - Upgrade
Upgrade
ubuntu/linux-azureto a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-azure-fdeto a version that resolves this vulnerability.Fixed in 7.0.0-1016.16 - Upgrade
Upgrade
ubuntu/linux-gcpto a version that resolves this vulnerability.Fixed in 7.0.0-1014.14 - Upgrade
Upgrade
ubuntu/linux-gketo a version that resolves this vulnerability.Fixed in 7.0.0-1008.9 - Upgrade
Upgrade
ubuntu/linux-ibmto a version that resolves this vulnerability.Fixed in 7.0.0-1015.15 - Upgrade
Upgrade
ubuntu/linux-nvidia-bosto a version that resolves this vulnerability.Fixed in 7.0.0-2022.23 - Upgrade
Upgrade
ubuntu/linux-oem-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-1015.15 - Upgrade
Upgrade
ubuntu/linux-oracleto a version that resolves this vulnerability.Fixed in 7.0.0-1013.13 - Upgrade
Upgrade
ubuntu/linux-realtimeto a version that resolves this vulnerability.Fixed in 7.0.0-38.38.1 - Upgrade
Upgrade
ubuntu/linux-riscvto a version that resolves this vulnerability.Fixed in 7.0.0-38.38.1 - Compensating control
In bpf_set_dentry_xattr(), bpf_remove_dentry_xattr(), bpf_xattr_read_permission(), and bpf_xattr_write_permission(), check whether d_inode(dentry) is NULL before locking or dereferencing it; return -EINVAL for a NULL inode and drop WARN_ON(!inode).
Event History
Frequently Asked Questions
What conditions are required to trigger the crash or warning path?
An attacker or BPF program must pass a negative dentry, for which d_inode(dentry) is NULL, to the affected dentry xattr BPF kfuncs. A negative dentry can be obtained in contexts such as security_inode_create.
When can this become a denial of service?
The NULL inode path in bpf_set_dentry_xattr or bpf_remove_dentry_xattr can cause a NULL pointer dereference. Separately, passing a negative dentry to bpf_get_dentry_xattr or locked xattr kfunc variants can trigger warnings that may cause denial of service when panic_on_warn is enabled.
How does the resolved behavior handle a negative dentry?
The resolved code checks whether the dentry inode is NULL before locking it and returns -EINVAL when it is. The xattr permission helpers also return -EINVAL instead of issuing a warning for this condition.