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-livepatch-5.15.210-148.245Upgrade kernelUpgrade kernel-headersUpgrade kernel-tools-debuginfoUpgrade python-perf-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-debuginfoUpgrade kernel-tools-develUpgrade perf-debuginfoUpgrade kernel-develUpgrade kernel-livepatch-5.10.259-258.1043Upgrade kernel-debuginfo-common-aarch64Upgrade python-perfUpgrade kernel-toolsUpgrade bpftool-debuginfoUpgrade perfUpgrade bpftool | Jul 8, 2026 | Jul 8, 2026 |
| Amazon_linux_2023 | — | Upgrade kernel-tools-debuginfoUpgrade kernel-debuginfoUpgrade bpftool-debuginfoUpgrade kernel6.18-debuginfo-common-aarch64Upgrade kernel-modules-extraUpgrade kernel-livepatch-6.18.30-61.116Upgrade kernel-livepatch-6.1.176-220.358Upgrade kernel6.18-modules-extra-commonUpgrade perf6.18Upgrade kernel6.18Upgrade bpftoolUpgrade python3-perf-debuginfoUpgrade kernel6.18-tools-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-debuginfo-common-x86_64Upgrade bpftool6.18Upgrade python3-perf6.18Upgrade kernel-develUpgrade kernel6.18-modules-extraUpgrade kernel6.18-tools-develUpgrade perfUpgrade kernel6.18-headersUpgrade kernel6.18-debuginfo-common-x86_64Upgrade kernel6.18-debuginfoUpgrade kernel-modules-extra-commonUpgrade kernel6.18-develUpgrade kernel-tools-develUpgrade kernel-headersUpgrade perf-debuginfoUpgrade kernelUpgrade bpftool6.18-debuginfoUpgrade python3-perf6.18-debuginfoUpgrade kernel-toolsUpgrade perf6.18-debuginfoUpgrade kernel6.18-toolsUpgrade python3-perf | Jun 23, 2026 | May 27, 2026 |
| Debian | — | Upgrade linux-6.1Upgrade linux | Jul 5, 2026 | Jul 5, 2026 |
| Redhat_linux | — | No solution exists | Jul 17, 2026 | May 27, 2026 |
| Ubuntu | — | Upgrade linux-image-generic-64k-hwe-26.04Upgrade linux-image-7.0.0-27-realtimeUpgrade linux-image-xilinxUpgrade linux-image-6.8.0-1064-gcp-fipsUpgrade linux-image-6.8.0-1059-nvidiaUpgrade linux-image-generic-64k-7.0Upgrade linux-image-nvidia-64kUpgrade linux-image-aws-64kUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-raspi-7.0Upgrade linux-image-gkeopUpgrade linux-image-raspi-realtime-7.0Upgrade linux-image-realtimeUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-realtime-hwe-26.04Upgrade linux-image-7.0.0-28-generic-64kUpgrade linux-image-oem-22.04cUpgrade linux-image-oracleUpgrade linux-image-oracle-6.8Upgrade linux-image-aws-fipsUpgrade linux-image-nvidia-tegra-6.8Upgrade linux-image-oem-24.04dUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-oracle-64k-7.0Upgrade linux-image-6.8.0-1033-xilinxUpgrade linux-image-6.8.0-2050-raspi-realtimeUpgrade linux-image-laptop-23.10Upgrade linux-image-realtime-64k-hwe-26.04Upgrade linux-image-genericUpgrade linux-image-nvidiaUpgrade linux-image-azure-fde-6.8Upgrade linux-image-nvidia-tegraUpgrade linux-image-7.0.0-1014-raspi-realtimeUpgrade linux-image-aws-64k-7.0Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-virtual-7.0Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-nvidia-tegra-rt-6.8Upgrade linux-image-gcp-fips-6.8Upgrade linux-image-realtime-7.0Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-aws-7.0Upgrade linux-image-gcp-7.0Upgrade linux-image-6.8.0-136-lowlatencyUpgrade linux-image-lowlatency-64kUpgrade linux-image-virtualUpgrade linux-image-gkeUpgrade linux-image-gcp-64k-7.0Upgrade linux-image-nvidia-6.8Upgrade linux-image-6.8.0-1063-azureUpgrade linux-image-7.0.0-1008-aws-64kUpgrade linux-image-7.0.0-1009-azure-fdeUpgrade linux-image-raspi-realtimeUpgrade linux-image-6.8.0-136-generic-64kUpgrade linux-image-oracle-64kUpgrade linux-image-oem-20.04cUpgrade linux-image-gcp-6.8Upgrade linux-image-7.0.0-1008-awsUpgrade linux-image-oem-24.04bUpgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-6.8.1-1056-realtimeUpgrade linux-image-7.0.0-1007-oracleUpgrade linux-image-oem-24.04aUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-oem-22.04dUpgrade linux-image-oem-24.04Upgrade linux-image-7.0.0-1013-nvidia-64kUpgrade linux-image-6.8.0-136-fipsUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-7.0.0-1010-azureUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-azure-6.8Upgrade linux-image-oem-7.0Upgrade linux-image-realtime-64kUpgrade linux-image-realtime-64k-7.0Upgrade linux-image-generic-hwe-26.04Upgrade linux-image-oem-20.04Upgrade linux-image-oem-22.04Upgrade linux-image-6.8.0-1064-gcpUpgrade linux-image-gke-6.8Upgrade linux-image-realtime-hwe-22.04Upgrade linux-image-intel-iotgUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-generic-lpaeUpgrade linux-image-gcp-64k-6.8Upgrade linux-image-7.0.0-27-genericUpgrade linux-image-fipsUpgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-gcpUpgrade linux-image-6.8.0-136-genericUpgrade linux-image-6.8.0-136-lowlatency-64kUpgrade linux-image-generic-64kUpgrade linux-image-generic-7.0Upgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-nvidia-7.0Upgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-gke-64k-6.8Upgrade linux-image-generic-6.8Upgrade linux-image-gcp-fipsUpgrade linux-image-azure-fde-7.0Upgrade linux-image-generic-64k-6.8Upgrade linux-image-azure-lts-24.04Upgrade linux-image-aws-fips-6.8Upgrade linux-image-aws-64k-6.8Upgrade linux-image-7.0.0-28-genericUpgrade linux-image-7.0.0-1013-nvidiaUpgrade linux-image-6.8.0-1064-gcp-64kUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-7.0.0-1008-oemUpgrade linux-image-virtual-6.8Upgrade linux-image-6.8.0-1059-gkeUpgrade linux-image-6.8.0-1030-nvidia-tegra-rtUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-7.0.0-1007-oracle-64kUpgrade linux-image-oem-26.04aUpgrade linux-image-oracle-7.0Upgrade linux-image-oem-20.04bUpgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-1059-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1059-nvidia-64kUpgrade linux-image-nvidia-64k-7.0Upgrade linux-image-6.8.0-1061-awsUpgrade linux-image-7.0.0-1009-ibmUpgrade linux-image-7.0.0-27-realtime-64kUpgrade linux-image-7.0.0-27-generic-64kUpgrade linux-image-ibm-7.0Upgrade linux-image-awsUpgrade linux-image-aws-lts-24.04Upgrade linux-image-aws-6.8Upgrade linux-image-6.8.0-1030-nvidia-tegraUpgrade linux-image-7.0.0-1014-raspiUpgrade linux-image-7.0.0-1007-gcpUpgrade linux-image-6.8.0-1046-gkeopUpgrade linux-image-azureUpgrade linux-image-6.8.0-1058-oracleUpgrade linux-image-6.8.0-1061-aws-64kUpgrade linux-image-ibmUpgrade linux-image-kvmUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-lowlatency-6.8Upgrade linux-image-ibm-classicUpgrade linux-image-ibm-6.8Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-gkeop-6.8Upgrade linux-image-6.8.0-1059-nvidia-lowlatencyUpgrade linux-image-oem-22.04bUpgrade linux-image-7.0.0-1007-gcp-64kUpgrade linux-image-6.8.0-1061-ibmUpgrade linux-image-6.8.0-1058-oracle-64kUpgrade linux-image-virtual-hwe-26.04Upgrade linux-image-oracle-64k-6.8Upgrade linux-image-oem-26.04Upgrade linux-image-oem-24.04cUpgrade linux-image-oem-22.04aUpgrade linux-image-6.8.0-1061-aws-fipsUpgrade linux-image-oem-20.04dUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-lowlatencyUpgrade linux-image-gcp-64kUpgrade linux-image-xilinx-6.8Upgrade linux-image-raspi-6.8Upgrade linux-image-6.8.0-1063-azure-fipsUpgrade linux-image-raspiUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-fips-6.8Upgrade linux-image-azure-fips-6.8Upgrade linux-image-azure-fipsUpgrade linux-image-azure-7.0Upgrade linux-image-6.8.0-1061-raspiUpgrade linux-image-6.8.0-1059-gke-64kUpgrade linux-image-realtime-6.8.1Upgrade linux-image-nvidia-tegra-rtUpgrade linux-image-6.8.0-1062-azure-fdeUpgrade linux-image-gke-64kUpgrade linux-image-generic-hwe-22.04 | 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