In the Linux kernel, the following vulnerability has been resolved:
ceph: only d_add() negative dentries when they are unhashed
Ceph can call d_add(dentry, NULL) on a negative dentry that is already present in the primary dcache hash.
In the current VFS that is not safe. d_add() goes through __d_add() to __d_rehash(), which unconditionally reinserts dentry->d_hash into the hlist_bl bucket. If the dentry is already hashed, reinserting the same node can corrupt the bucket, including creating a self-loop. Once that happens, __d_lookup() can spin forever in the hlist_bl walk, typically looping only on the d_name.hash mismatch check and eventually triggering RCU stall reports like this one:
rcu: INFO: rcu_sched self-detected stall on CPU rcu: 87-....: (2100 ticks this GP) idle=3a4c/1/0x4000000000000000 softirq=25003319/25003319 fqs=829 rcu: (t=2101 jiffies g=79058445 q=698988 ncpus=192) CPU: 87 UID: 2952868916 PID: 3933303 Comm: php-cgi8.3 Not tainted 6.18.17-i1-amd #950 NONE Hardware name: Dell Inc. PowerEdge R7615/0G9DHV, BIOS 1.6.6 09/22/2023 RIP: 0010:__d_lookup+0x46/0xb0 Code: c1 e8 07 48 8d 04 c2 48 8b 00 49 89 fc 49 89 f5 48 89 c3 48 83 e3 fe 48 83 f8 01 77 0f eb 2d 0f 1f 44 00 00 48 8b 1b 48 85 db <74> 20 39 6b 18 75 f3 48 8d 7b 78 e8 ba 85 d0 00 4c 39 63 10 74 1f RSP: 0018:ff745a70c8253898 EFLAGS: 00000282 RAX: ff26e470054cb208 RBX: ff26e470054cb208 RCX: 000000006e958966 RDX: ff26e48267340000 RSI: ff745a70c82539b0 RDI: ff26e458f74655c0 RBP: 000000006e958966 R08: 0000000000000180 R09: 9cd08d909b919a89 R10: ff26e458f74655c0 R11: 0000000000000000 R12: ff26e458f74655c0 R13: ff745a70c82539b0 R14: d0d0d0d0d0d0d0d0 R15: 2f2f2f2f2f2f2f2f FS: 00007f5770896980(0000) GS:ff26e482c5d88000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f5764de50c0 CR3: 000000a72abb5001 CR4: 0000000000771ef0 PKRU: 55555554 Call Trace: <TASK> lookup_fast+0x9f/0x100 walk_component+0x1f/0x150 link_path_walk+0x20e/0x3d0 path_lookupat+0x68/0x180 filename_lookup+0xdc/0x1e0 vfs_statx+0x6c/0x140 vfs_fstatat+0x67/0xa0 __do_sys_newfstatat+0x24/0x60 do_syscall_64+0x6a/0x230 entry_SYSCALL_64_after_hwframe+0x76/0x7e
This is reachable with reused cached negative dentries. A Ceph lookup or atomic_open can be handed a negative dentry that is already hashed, and fs/ceph/dir.c then hits one of two paths that incorrectly assume "negative" also means "unhashed":
- ceph_finish_lookup(): MDS reply is -ENOENT with no trace -> d_add(dentry, NULL)
- ceph_lookup(): local ENOENT fast path for a complete directory with shared caps -> d_add(dentry, NULL)
Both paths can therefore re-add an already-hashed negative dentry.
Ceph already uses the correct pattern elsewhere: ceph_fill_trace() only calls d_add(dn, NULL) for a negative null-dentry reply when d_unhashed(dn) is true.
Fix both fs/ceph/dir.c sites the same way: only call d_add() for a negative dentry when it is actually unhashed. If the negative dentry is already hashed, leave it in place and reuse it as-is.
This preserves the existing behavior for unhashed dentries while avoiding d_hash list corruption for reused hashed negatives.
CVSS Details
- CVSS 3.1 Base Score: 7.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade kernel-debuginfoUpgrade kernel-tools-develUpgrade kernelUpgrade kernel-develUpgrade kernel-livepatch-5.15.210-148.245Upgrade kernel-headersUpgrade kernel-tools-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade python-perf-debuginfoUpgrade perf-debuginfoUpgrade kernel-toolsUpgrade bpftoolUpgrade perfUpgrade kernel-livepatch-5.10.259-258.1043Upgrade python-perfUpgrade kernel-debuginfo-common-aarch64Upgrade bpftool-debuginfo | Jul 8, 2026 | Jul 8, 2026 |
| Amazon_linux_2023 | — | Upgrade bpftool6.18-debuginfoUpgrade kernel6.18-toolsUpgrade perf6.18-debuginfoUpgrade kernel6.18-modules-extraUpgrade python3-perf6.18-debuginfoUpgrade perfUpgrade kernelUpgrade perf-debuginfoUpgrade kernel6.18-debuginfoUpgrade bpftool-debuginfoUpgrade kernel-livepatch-6.1.176-220.358Upgrade kernel-tools-debuginfoUpgrade kernel6.18-debuginfo-common-aarch64Upgrade kernel-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-livepatch-6.18.30-61.116Upgrade bpftool6.18Upgrade perf6.18Upgrade kernel-modules-extraUpgrade kernel6.18-tools-debuginfoUpgrade kernel-develUpgrade kernel6.18-debuginfo-common-x86_64Upgrade python3-perf-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade bpftoolUpgrade kernel6.18-modules-extra-commonUpgrade kernel6.18Upgrade python3-perf6.18Upgrade kernel-modules-extra-commonUpgrade kernel-toolsUpgrade kernel6.18-tools-develUpgrade kernel-tools-develUpgrade kernel6.18-develUpgrade kernel-headersUpgrade python3-perfUpgrade kernel6.18-headers | Jun 23, 2026 | May 27, 2026 |
| Debian | — | Upgrade linuxUpgrade linux-6.1 | Jul 5, 2026 | Jul 5, 2026 |
| Redhat_linux | — | No solution exists | Jul 17, 2026 | May 27, 2026 |
| Ubuntu | — | Upgrade linux-image-oracleUpgrade linux-image-gcp-fips-6.8Upgrade linux-image-generic-64k-hwe-26.04Upgrade linux-image-aws-64kUpgrade linux-image-oem-20.04cUpgrade linux-image-6.8.0-2050-raspi-realtimeUpgrade linux-image-7.0.0-28-generic-64kUpgrade linux-image-oem-22.04cUpgrade linux-image-6.8.0-136-genericUpgrade linux-image-gcp-7.0Upgrade linux-image-6.8.0-1064-gcpUpgrade linux-image-aws-7.0Upgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-oem-20.04Upgrade linux-image-oem-22.04Upgrade linux-image-oracle-6.8Upgrade linux-image-7.0.0-27-genericUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-6.8.0-136-lowlatency-64kUpgrade linux-image-generic-7.0Upgrade linux-image-realtimeUpgrade linux-image-intel-iotgUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-7.0.0-1009-azure-fdeUpgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.8.0-1063-azureUpgrade linux-image-6.8.0-136-fipsUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-gkeUpgrade linux-image-lowlatency-64kUpgrade linux-image-gcp-64k-7.0Upgrade linux-image-nvidia-6.8Upgrade linux-image-oracle-64k-7.0Upgrade linux-image-virtualUpgrade linux-image-virtual-7.0Upgrade linux-image-oem-24.04dUpgrade linux-image-7.0.0-1014-raspi-realtimeUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-azure-6.8Upgrade linux-image-realtime-64k-hwe-26.04Upgrade linux-image-realtime-64k-7.0Upgrade linux-image-7.0.0-1010-azureUpgrade linux-image-oem-7.0Upgrade linux-image-laptop-23.10Upgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-generic-lpaeUpgrade linux-image-gcp-64k-6.8Upgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-gcpUpgrade linux-image-realtime-64kUpgrade linux-image-nvidia-tegra-6.8Upgrade linux-image-realtime-hwe-22.04Upgrade linux-image-nvidia-tegraUpgrade linux-image-aws-64k-7.0Upgrade linux-image-genericUpgrade linux-image-nvidiaUpgrade linux-image-6.8.0-136-lowlatencyUpgrade linux-image-7.0.0-1008-aws-64kUpgrade linux-image-azure-fde-6.8Upgrade linux-image-virtual-hwe-22.04Upgrade linux-image-nvidia-tegra-rt-6.8Upgrade linux-image-realtime-7.0Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-6.8.0-1033-xilinxUpgrade linux-image-xilinxUpgrade linux-image-7.0.0-27-realtimeUpgrade linux-image-6.8.0-1059-nvidiaUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-gkeopUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-generic-64k-7.0Upgrade linux-image-nvidia-64kUpgrade linux-image-realtime-hwe-26.04Upgrade linux-image-6.8.0-1064-gcp-fipsUpgrade linux-image-aws-fipsUpgrade linux-image-raspi-7.0Upgrade linux-image-raspi-realtimeUpgrade linux-image-6.8.0-136-generic-64kUpgrade linux-image-6.8.1-1056-realtimeUpgrade linux-image-raspi-realtime-7.0Upgrade linux-image-fipsUpgrade linux-image-generic-64kUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-generic-hwe-26.04Upgrade linux-image-7.0.0-1007-oracleUpgrade linux-image-gke-6.8Upgrade linux-image-7.0.0-1008-awsUpgrade linux-image-oem-24.04Upgrade linux-image-oem-24.04aUpgrade linux-image-oem-22.04dUpgrade linux-image-7.0.0-1013-nvidia-64kUpgrade linux-image-gcp-6.8Upgrade linux-image-oem-24.04bUpgrade linux-image-oracle-64kUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-oracle-7.0Upgrade linux-image-oem-20.04bUpgrade linux-image-azure-fde-7.0Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-oem-26.04Upgrade linux-image-gke-64kUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-ibm-6.8Upgrade linux-image-generic-64k-6.8Upgrade linux-image-oem-22.04aUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-7.0.0-28-genericUpgrade linux-image-oem-24.04cUpgrade linux-image-nvidia-7.0Upgrade linux-image-nvidia-64k-7.0Upgrade linux-image-gke-64k-6.8Upgrade linux-image-generic-6.8Upgrade linux-image-gcp-fipsUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-azure-fdeUpgrade linux-image-7.0.0-1008-oemUpgrade linux-image-6.8.0-1061-awsUpgrade linux-image-6.8.0-1059-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1059-nvidia-64kUpgrade linux-image-virtual-6.8Upgrade linux-image-aws-6.8Upgrade linux-image-7.0.0-1014-raspiUpgrade linux-image-6.8.0-1061-aws-64kUpgrade linux-image-6.8.0-1058-oracleUpgrade linux-image-6.8.0-1046-gkeopUpgrade linux-image-aws-lts-24.04Upgrade linux-image-7.0.0-1007-gcpUpgrade linux-image-6.8.0-1030-nvidia-tegraUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-awsUpgrade linux-image-7.0.0-27-realtime-64kUpgrade linux-image-7.0.0-27-generic-64kUpgrade linux-image-7.0.0-1009-ibmUpgrade linux-image-ibm-7.0Upgrade linux-image-azureUpgrade linux-image-raspiUpgrade linux-image-oem-20.04dUpgrade linux-image-raspi-6.8Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-lowlatencyUpgrade linux-image-gcp-64kUpgrade linux-image-6.8.0-1061-aws-fipsUpgrade linux-image-xilinx-6.8Upgrade linux-image-6.8.0-1063-azure-fipsUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-6.8.0-1059-gkeUpgrade linux-image-7.0.0-1007-oracle-64kUpgrade linux-image-aws-64k-6.8Upgrade linux-image-6.8.0-1061-ibmUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-oem-26.04aUpgrade linux-image-6.8.0-1030-nvidia-tegra-rtUpgrade linux-image-azure-lts-24.04Upgrade linux-image-7.0.0-1007-gcp-64kUpgrade linux-image-6.8.0-1058-oracle-64kUpgrade linux-image-aws-fips-6.8Upgrade linux-image-virtual-hwe-26.04Upgrade linux-image-6.8.0-1062-azure-fdeUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-nvidia-tegra-rtUpgrade linux-image-6.8.0-1059-gke-64kUpgrade linux-image-realtime-6.8.1Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-fips-6.8Upgrade linux-image-azure-fips-6.8Upgrade linux-image-azure-7.0Upgrade linux-image-7.0.0-1013-nvidiaUpgrade linux-image-6.8.0-1064-gcp-64kUpgrade linux-image-azure-fipsUpgrade linux-image-6.8.0-1061-raspiUpgrade linux-image-gkeop-6.8Upgrade linux-image-6.8.0-1059-nvidia-lowlatencyUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-oem-22.04bUpgrade linux-image-lowlatency-6.8Upgrade linux-image-kvmUpgrade linux-image-ibm-classicUpgrade linux-image-ibm | Jul 1, 2026 | May 27, 2026 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jun 29, 2026 | May 27, 2026 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub