In the Linux kernel, the following vulnerability has been resolved:
RDMA/core: Don't expose hw_counters outside of init net namespace
Commit 467f432a521a ("RDMA/core: Split port and device counter sysfs attributes") accidentally almost exposed hw counters to non-init net namespaces. It didn't expose them fully, as an attempt to read any of those counters leads to a crash like this one:
[42021.807566] BUG: kernel NULL pointer dereference, address: 0000000000000028 [42021.814463] #PF: supervisor read access in kernel mode [42021.819549] #PF: error_code(0x0000) - not-present page [42021.824636] PGD 0 P4D 0 [42021.827145] Oops: 0000 [#1] SMP PTI [42021.830598] CPU: 82 PID: 2843922 Comm: switchto-defaul Kdump: loaded Tainted: G S W I XXX [42021.841697] Hardware name: XXX [42021.849619] RIP: 0010:hw_stat_device_show+0x1e/0x40 [ib_core] [42021.855362] Code: 90 90 90 90 90 90 90 90 90 90 90 90 f3 0f 1e fa 0f 1f 44 00 00 49 89 d0 4c 8b 5e 20 48 8b 8f b8 04 00 00 48 81 c7 f0 fa ff ff <48> 8b 41 28 48 29 ce 48 83 c6 d0 48 c1 ee 04 69 d6 ab aa aa aa 48 [42021.873931] RSP: 0018:ffff97fe90f03da0 EFLAGS: 00010287 [42021.879108] RAX: ffff9406988a8c60 RBX: ffff940e1072d438 RCX: 0000000000000000 [42021.886169] RDX: ffff94085f1aa000 RSI: ffff93c6cbbdbcb0 RDI: ffff940c7517aef0 [42021.893230] RBP: ffff97fe90f03e70 R08: ffff94085f1aa000 R09: 0000000000000000 [42021.900294] R10: ffff94085f1aa000 R11: ffffffffc0775680 R12: ffffffff87ca2530 [42021.907355] R13: ffff940651602840 R14: ffff93c6cbbdbcb0 R15: ffff94085f1aa000 [42021.914418] FS: 00007fda1a3b9700(0000) GS:ffff94453fb80000(0000) knlGS:0000000000000000 [42021.922423] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [42021.928130] CR2: 0000000000000028 CR3: 00000042dcfb8003 CR4: 00000000003726f0 [42021.935194] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [42021.942257] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [42021.949324] Call Trace: [42021.951756] <TASK> [42021.953842] [<ffffffff86c58674>] ? show_regs+0x64/0x70 [42021.959030] [<ffffffff86c58468>] ? __die+0x78/0xc0 [42021.963874] [<ffffffff86c9ef75>] ? page_fault_oops+0x2b5/0x3b0 [42021.969749] [<ffffffff87674b92>] ? exc_page_fault+0x1a2/0x3c0 [42021.975549] [<ffffffff87801326>] ? asm_exc_page_fault+0x26/0x30 [42021.981517] [<ffffffffc0775680>] ? __pfx_show_hw_stats+0x10/0x10 [ib_core] [42021.988482] [<ffffffffc077564e>] ? hw_stat_device_show+0x1e/0x40 [ib_core] [42021.995438] [<ffffffff86ac7f8e>] dev_attr_show+0x1e/0x50 [42022.000803] [<ffffffff86a3eeb1>] sysfs_kf_seq_show+0x81/0xe0 [42022.006508] [<ffffffff86a11134>] seq_read_iter+0xf4/0x410 [42022.011954] [<ffffffff869f4b2e>] vfs_read+0x16e/0x2f0 [42022.017058] [<ffffffff869f50ee>] ksys_read+0x6e/0xe0 [42022.022073] [<ffffffff8766f1ca>] do_syscall_64+0x6a/0xa0 [42022.027441] [<ffffffff8780013b>] entry_SYSCALL_64_after_hwframe+0x78/0xe2
The problem can be reproduced using the following steps: ip netns add foo ip netns exec foo bash cat /sys/class/infiniband/mlx4_0/hw_counters/*
The panic occurs because of casting the device pointer into an ib_device pointer using container_of() in hw_stat_device_show() is wrong and leads to a memory corruption.
However the real problem is that hw counters should never been exposed outside of the non-init net namespace.
Fix this by saving the index of the corresponding attribute group (it might be 1 or 2 depending on the presence of driver-specific attributes) and zeroing the pointer to hw_counters group for compat devices during the initialization.
With this fix applied hw_counters are not available in a non-init net namespace: find /sys/class/infiniband/mlx4_0/ -name hw_counters /sys/class/infiniband/mlx4_0/ports/1/hw_counters /sys/class/infiniband/mlx4_0/ports/2/hw_counters /sys/class/infiniband/mlx4_0/hw_counters
ip netns add foo ip netns exec foo bash find /sys/class/infiniband/mlx4_0/ -name hw_counters
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade kernel-tools-debuginfoUpgrade kernel-livepatch-5.15.180-122.191Upgrade kernel-debuginfo-common-x86_64Upgrade kernel-debuginfoUpgrade kernel-headersUpgrade perfUpgrade python-perf-debuginfoUpgrade perf-debuginfoUpgrade bpftool-debuginfoUpgrade kernelUpgrade python-perfUpgrade kernel-toolsUpgrade kernel-tools-develUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-develUpgrade bpftool | Jun 23, 2025 | Apr 16, 2025 |
| Amazon_linux_2023 | — | Upgrade kernel-libbpf-staticUpgrade kernel-livepatch-6.1.134-150.224Upgrade kernel-develUpgrade bpftoolUpgrade kernel-toolsUpgrade perf6.12Upgrade kernel-debuginfo-common-x86_64Upgrade kernel-libbpf-develUpgrade python3-perf6.12-debuginfoUpgrade kernel6.12-debuginfoUpgrade bpftool-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-modules-extra-commonUpgrade kernelUpgrade python3-perf-debuginfoUpgrade kernel-tools-debuginfoUpgrade kernel-libbpfUpgrade python3-perfUpgrade perfUpgrade kernel-modules-extraUpgrade kernel-debuginfoUpgrade kernel6.12Upgrade python3-perf6.12Upgrade perf-debuginfoUpgrade kernel-livepatch-6.12.23-29.97Upgrade kernel-libbpf-debuginfoUpgrade kernel6.12-debuginfo-common-aarch64Upgrade kernel6.12-modules-extraUpgrade kernel6.12-debuginfo-common-x86_64Upgrade kernel-tools-develUpgrade perf6.12-debuginfoUpgrade kernel-headers | Jun 24, 2025 | Apr 16, 2025 |
| Debian | — | Upgrade linuxUpgrade linux-6.1 | Apr 29, 2025 | Apr 16, 2025 |
| Redhat_linux | — | Upgrade kernel-rtNo solution existsUpgrade kernel | Jul 9, 2025 | Apr 16, 2025 |
| Suse | — | Upgrade cluster-md-kmp-64kbUpgrade kernel-devel-rtUpgrade kernel-default-optionalUpgrade kernel-debug-vdsoUpgrade kernel-default-base-rebuildUpgrade kernel-azure-develUpgrade dtb-xilinxUpgrade kselftests-kmp-defaultUpgrade kernel-syms-azureUpgrade cluster-md-kmp-rtUpgrade gfs2-kmp-azureUpgrade dtb-rockchipUpgrade dtb-mediatekUpgrade dtb-caviumUpgrade dlm-kmp-azureUpgrade kernel-64kb-extraUpgrade dtb-amlogicUpgrade kernel-develUpgrade ocfs2-kmp-defaultUpgrade kernel-defaultUpgrade kernel-sourceUpgrade kernel-azureUpgrade kernel-devel-azureUpgrade dtb-allwinnerUpgrade dtb-armUpgrade kernel-obs-buildUpgrade kselftests-kmp-64kbUpgrade dlm-kmp-rtUpgrade kernel-rt-develUpgrade dtb-nvidiaUpgrade kernel-docsUpgrade dtb-qcomUpgrade kernel-64kb-optionalUpgrade kernel-default-livepatchUpgrade dtb-freescaleUpgrade kernel-azure-vdsoUpgrade dlm-kmp-64kbUpgrade kselftests-kmp-azureUpgrade ocfs2-kmp-rtUpgrade kernel-debug-develUpgrade dtb-renesasUpgrade kernel-rt_debugUpgrade kernel-default-extraUpgrade cluster-md-kmp-defaultUpgrade kernel-docs-htmlUpgrade dlm-kmp-defaultUpgrade reiserfs-kmp-defaultUpgrade kernel-default-develUpgrade dtb-socionextUpgrade ocfs2-kmp-azureUpgrade ocfs2-kmp-64kbUpgrade kernel-rt-optionalUpgrade dtb-hisiliconUpgrade dtb-broadcomUpgrade kernel-obs-qaUpgrade kernel-kvmsmall-develUpgrade kernel-azure-optionalUpgrade dtb-amdUpgrade cluster-md-kmp-azureUpgrade kernel-source-vanillaUpgrade kernel-syms-rtUpgrade kernel-zfcpdumpUpgrade kselftests-kmp-rtUpgrade dtb-amazonUpgrade dtb-apmUpgrade reiserfs-kmp-64kbUpgrade kernel-azure-extraUpgrade gfs2-kmp-rtUpgrade kernel-default-livepatch-develUpgrade kernel-rt_debug-develUpgrade kernel-default-baseUpgrade dtb-appleUpgrade kernel-source-azureUpgrade kernel-rt-livepatch-develUpgrade dtb-alteraUpgrade kernel-64kbUpgrade kernel-symsUpgrade kernel-source-rtUpgrade dtb-lgUpgrade dtb-marvellUpgrade gfs2-kmp-64kbUpgrade kernel-kvmsmall-vdsoUpgrade kernel-64kb-develUpgrade kernel-rt_debug-vdsoUpgrade kernel-debugUpgrade reiserfs-kmp-rt | Dec 5, 2025 | Jun 16, 2025 |
| Ubuntu | — | Upgrade linux-image-6.14.0-1007-azure-fdeUpgrade linux-image-6.8.0-1025-gkeopUpgrade linux-image-oem-20.04cUpgrade linux-image-nvidia-tegraUpgrade linux-image-5.15.0-1079-intel-iot-realtimeUpgrade linux-image-5.15.0-1080-nvidiaUpgrade linux-image-6.8.0-1041-aws-64kUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-5.15.0-1068-gkeopUpgrade linux-image-6.8.0-1042-gcp-64kUpgrade linux-image-gcpUpgrade linux-image-gcp-64k-6.8Upgrade linux-image-6.11.0-1015-awsUpgrade linux-image-5.15.0-1082-kvmUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-oracle-6.8Upgrade linux-image-genericUpgrade linux-image-5.15.0-1080-raspiUpgrade linux-image-5.15.0-1039-nvidia-tegraUpgrade linux-image-oem-20.04Upgrade linux-image-gke-64k-6.8Upgrade linux-image-virtual-hwe-22.04Upgrade linux-image-virtualUpgrade linux-image-aws-64kUpgrade linux-image-5.15.0-1085-gcpUpgrade linux-image-generic-6.8Upgrade linux-image-generic-64kUpgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-intel-iotgUpgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-6.8.0-1038-oracle-64kUpgrade linux-image-5.15.0-142-lowlatencyUpgrade linux-image-6.14.0-1008-gcpUpgrade linux-image-lowlatency-6.11Upgrade linux-image-6.8.0-86-generic-64kUpgrade linux-image-6.8.0-86-genericUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-aws-fipsUpgrade linux-image-ibm-6.8Upgrade linux-image-raspiUpgrade linux-image-nvidia-6.8Upgrade linux-image-6.11.0-1017-oracle-64kUpgrade linux-image-6.14.0-1007-oracle-64kUpgrade linux-image-lowlatency-64k-6.11Upgrade linux-image-oracle-64k-6.8Upgrade linux-image-5.15.0-1086-aws-64kUpgrade linux-image-nvidia-tegra-igxUpgrade linux-image-6.14.0-1008-gcp-64kUpgrade linux-image-6.8.0-1041-nvidia-64kUpgrade linux-image-6.8.0-1041-nvidia-lowlatencyUpgrade linux-image-6.8.0-1041-nvidiaUpgrade linux-image-awsUpgrade linux-image-gkeop-6.8Upgrade linux-image-generic-64k-6.8Upgrade linux-image-6.11.0-1015-lowlatencyUpgrade linux-image-5.15.0-1086-realtimeUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-realtime-6.8.1Upgrade linux-image-raspi-nolpaeUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-gcp-lts-24.04Upgrade linux-image-virtual-6.8Upgrade linux-image-5.15.0-1085-gcp-fipsUpgrade linux-image-azure-cvmUpgrade linux-image-gcp-6.8Upgrade linux-image-gcp-fipsUpgrade linux-image-6.11.0-1017-oracleUpgrade linux-image-gcp-64kUpgrade linux-image-6.14.0-1007-raspiUpgrade linux-image-6.11.0-28-generic-64kUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-ibmUpgrade linux-image-aws-lts-22.04Upgrade linux-image-ibm-classicUpgrade linux-image-gke-5.15Upgrade linux-image-gcp-lts-22.04Upgrade linux-image-azureUpgrade linux-image-aws-6.8Upgrade linux-image-6.11.0-28-genericUpgrade linux-image-5.15.0-1050-xilinx-zynqmpUpgrade linux-image-5.15.0-1028-nvidia-tegra-igx-rtUpgrade linux-image-5.15.0-1086-aws-fipsUpgrade linux-image-raspi-6.8Upgrade linux-image-5.15.0-1083-gkeUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-6.14.0-1007-awsUpgrade linux-image-oem-22.04dUpgrade linux-image-5.15.0-1091-azureUpgrade linux-image-5.15.0-142-fipsUpgrade linux-image-6.8.0-1038-oracleUpgrade linux-image-azure-fipsUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-oracleUpgrade linux-image-azure-fde-6.11Upgrade linux-image-virtual-hwe-20.04Upgrade linux-image-lowlatency-6.8Upgrade linux-image-6.8.0-86-lowlatency-64kUpgrade linux-image-azure-nvidia-6.8Upgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-5.15.0-1083-intel-iotgUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-gke-64kUpgrade linux-image-6.8.0-1042-gcpUpgrade linux-image-6.8.0-1039-ibmUpgrade linux-image-6.11.0-1015-lowlatency-64kUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-6.14.0-1007-aws-64kUpgrade linux-image-kvmUpgrade linux-image-azure-lts-24.04Upgrade linux-image-azure-fde-edgeUpgrade linux-image-aws-64k-6.8Upgrade linux-image-fipsUpgrade linux-image-oem-22.04aUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-2032-raspi-realtimeUpgrade linux-image-generic-lpaeUpgrade linux-image-6.14.0-22-genericUpgrade linux-image-oem-24.04bUpgrade linux-image-5.15.0-142-lowlatency-64kUpgrade linux-image-6.14.0-1004-realtimeUpgrade linux-image-6.8.0-1041-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1041-raspiUpgrade linux-image-6.8.1-1036-realtimeUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-gkeop-5.15Upgrade linux-image-lowlatency-64kUpgrade linux-image-generic-64k-hwe-20.04 | Jun 20, 2025 | Apr 16, 2025 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jul 2, 2025 | Apr 16, 2025 |
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