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-debuginfo-common-x86_64Upgrade kernel-tools-debuginfoUpgrade python-perf-debuginfoUpgrade perf-debuginfoUpgrade kernel-headersUpgrade perfUpgrade kernel-livepatch-5.15.180-122.191Upgrade kernel-debuginfoUpgrade bpftoolUpgrade kernel-toolsUpgrade python-perfUpgrade kernelUpgrade bpftool-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-develUpgrade kernel-tools-devel | Jun 23, 2025 | Apr 16, 2025 |
| Amazon_linux_2023 | — | Upgrade kernel-debuginfo-common-x86_64Upgrade kernel-libbpf-develUpgrade kernel6.12-debuginfoUpgrade kernelUpgrade kernel-tools-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade bpftool-debuginfoUpgrade bpftoolUpgrade perf6.12Upgrade python3-perf-debuginfoUpgrade kernel-libbpf-staticUpgrade kernel-toolsUpgrade kernel-modules-extra-commonUpgrade python3-perf6.12-debuginfoUpgrade kernel-livepatch-6.1.134-150.224Upgrade kernel-develUpgrade kernel-libbpfUpgrade kernel-tools-develUpgrade kernel6.12-modules-extraUpgrade python3-perfUpgrade kernel-livepatch-6.12.23-29.97Upgrade kernel-libbpf-debuginfoUpgrade kernel-debuginfoUpgrade perf6.12-debuginfoUpgrade kernel-headersUpgrade kernel-modules-extraUpgrade kernel6.12-debuginfo-common-x86_64Upgrade perf-debuginfoUpgrade python3-perf6.12Upgrade kernel6.12-debuginfo-common-aarch64Upgrade kernel6.12Upgrade perf | Jun 24, 2025 | Apr 16, 2025 |
| Debian | — | Upgrade linuxUpgrade linux-6.1 | Apr 29, 2025 | Apr 16, 2025 |
| Redhat_linux | — | Upgrade kernelNo solution existsUpgrade kernel-rt | Jul 9, 2025 | Apr 16, 2025 |
| Suse | — | Upgrade dtb-marvellUpgrade kernel-rt_debug-develUpgrade dtb-hisiliconUpgrade dtb-alteraUpgrade kernel-rt_debug-vdsoUpgrade dtb-lgUpgrade kernel-azure-optionalUpgrade dtb-broadcomUpgrade kernel-64kb-develUpgrade kernel-kvmsmall-develUpgrade kernel-default-livepatch-develUpgrade dtb-appleUpgrade kernel-default-baseUpgrade gfs2-kmp-64kbUpgrade kernel-source-azureUpgrade kernel-source-rtUpgrade dlm-kmp-64kbUpgrade kernel-kvmsmall-vdsoUpgrade kernel-rt-livepatch-develUpgrade cluster-md-kmp-defaultUpgrade kernel-obs-qaUpgrade kernel-source-vanillaUpgrade reiserfs-kmp-defaultUpgrade dlm-kmp-defaultUpgrade kernel-debug-develUpgrade dtb-socionextUpgrade kernel-docs-htmlUpgrade ocfs2-kmp-azureUpgrade kernel-rt_debugUpgrade kselftests-kmp-azureUpgrade kselftests-kmp-rtUpgrade kernel-symsUpgrade dtb-freescaleUpgrade kernel-default-develUpgrade kernel-default-extraUpgrade kernel-default-livepatchUpgrade kernel-debugUpgrade ocfs2-kmp-rtUpgrade kernel-syms-rtUpgrade kernel-zfcpdumpUpgrade gfs2-kmp-rtUpgrade kernel-64kbUpgrade ocfs2-kmp-64kbUpgrade dtb-amazonUpgrade dtb-apmUpgrade kernel-rt-optionalUpgrade cluster-md-kmp-azureUpgrade dtb-amdUpgrade kernel-azure-vdsoUpgrade kernel-64kb-optionalUpgrade reiserfs-kmp-64kbUpgrade reiserfs-kmp-rtUpgrade dtb-renesasUpgrade kernel-azure-extraUpgrade kselftests-kmp-defaultUpgrade kernel-sourceUpgrade kernel-rt-vdsoUpgrade dtb-exynosUpgrade gfs2-kmp-defaultUpgrade kernel-develUpgrade kernel-rtUpgrade dtb-caviumUpgrade dtb-mediatekUpgrade cluster-md-kmp-rtUpgrade dtb-rockchipUpgrade gfs2-kmp-azureUpgrade kernel-default-vdsoUpgrade kernel-azureUpgrade dtb-nvidiaUpgrade dtb-armUpgrade dtb-allwinnerUpgrade dlm-kmp-rtUpgrade ocfs2-kmp-defaultUpgrade kernel-default-optionalUpgrade kernel-64kb-extraUpgrade dtb-amlogicUpgrade dlm-kmp-azureUpgrade kernel-rt-develUpgrade kernel-obs-buildUpgrade kselftests-kmp-64kbUpgrade kernel-docsUpgrade kernel-devel-azureUpgrade kernel-syms-azureUpgrade kernel-default-base-rebuildUpgrade dtb-xilinxUpgrade kernel-azure-develUpgrade kernel-kvmsmallUpgrade reiserfs-kmp-azureUpgrade kernel-macrosUpgrade kernel-devel-rtUpgrade kernel-defaultUpgrade kernel-debug-vdsoUpgrade dtb-sprdUpgrade cluster-md-kmp-64kbUpgrade dtb-qcomUpgrade kernel-rt-extra | Dec 5, 2025 | Jun 16, 2025 |
| Ubuntu | — | Upgrade linux-image-nvidia-tegra-rtUpgrade linux-image-oem-22.04dUpgrade linux-image-5.15.0-1083-intel-iotgUpgrade linux-image-5.15.0-1091-azureUpgrade linux-image-6.11.0-1017-oracleUpgrade linux-image-6.14.0-1007-awsUpgrade linux-image-6.8.0-1039-ibmUpgrade linux-image-5.15.0-1086-aws-64kUpgrade linux-image-azure-fde-edgeUpgrade linux-image-oem-24.04bUpgrade linux-image-azureUpgrade linux-image-6.14.0-1007-oracle-64kUpgrade linux-image-raspiUpgrade linux-image-gcp-6.8Upgrade linux-image-ibm-classicUpgrade linux-image-6.8.0-1038-oracle-64kUpgrade linux-image-generic-lpaeUpgrade linux-image-azure-fde-6.11Upgrade linux-image-6.8.0-1038-oracleUpgrade linux-image-ibm-6.8Upgrade linux-image-5.15.0-142-fipsUpgrade linux-image-6.8.0-2032-raspi-realtimeUpgrade linux-image-aws-lts-22.04Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-raspi-6.8Upgrade linux-image-lowlatency-6.11Upgrade linux-image-6.8.0-86-generic-64kUpgrade linux-image-5.15.0-142-lowlatencyUpgrade linux-image-6.8.0-1041-nvidiaUpgrade linux-image-lowlatency-6.8Upgrade linux-image-ibmUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-5.15.0-1083-gkeUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-6.8.0-86-lowlatency-64kUpgrade linux-image-azure-nvidia-6.8Upgrade linux-image-aws-6.8Upgrade linux-image-azure-cvmUpgrade linux-image-6.11.0-28-genericUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-5.15.0-1028-nvidia-tegra-igx-rtUpgrade linux-image-5.15.0-1050-xilinx-zynqmpUpgrade linux-image-5.15.0-1086-aws-fipsUpgrade linux-image-gke-5.15Upgrade linux-image-6.14.0-1007-raspiUpgrade linux-image-fipsUpgrade linux-image-gcp-fipsUpgrade linux-image-oem-22.04aUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-gcp-64kUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-6.11.0-1017-oracle-64kUpgrade linux-image-6.8.0-1041-nvidia-lowlatencyUpgrade linux-image-6.14.0-1008-gcpUpgrade linux-image-6.14.0-1008-gcp-64kUpgrade linux-image-aws-fipsUpgrade linux-image-6.11.0-1015-lowlatencyUpgrade linux-image-azure-fdeUpgrade linux-image-nvidia-tegra-igxUpgrade linux-image-6.14.0-22-genericUpgrade linux-image-6.14.0-1007-aws-64kUpgrade linux-image-6.8.0-1041-nvidia-64kUpgrade linux-image-6.11.0-1015-lowlatency-64kUpgrade linux-image-awsUpgrade linux-image-virtual-6.8Upgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-azure-fipsUpgrade linux-image-aws-64k-6.8Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-kvmUpgrade linux-image-gkeop-6.8Upgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-5.15.0-1086-realtimeUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-generic-64k-6.8Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-nvidia-6.8Upgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-gke-64kUpgrade linux-image-lowlatency-64k-6.11Upgrade linux-image-5.15.0-1085-gcp-fipsUpgrade linux-image-raspi-nolpaeUpgrade linux-image-6.11.0-28-generic-64kUpgrade linux-image-6.8.0-1042-gcpUpgrade linux-image-6.8.0-86-genericUpgrade linux-image-oracleUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-realtime-6.8.1Upgrade linux-image-azure-lts-24.04Upgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-6.8.1-1036-realtimeUpgrade linux-image-gkeUpgrade linux-image-oem-20.04bUpgrade linux-image-6.11.0-1016-gcp-64kUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-nvidia-64kUpgrade linux-image-intel-iotg-5.15Upgrade linux-image-gkeopUpgrade linux-image-5.15.0-142-generic-lpaeUpgrade linux-image-5.15.0-1078-ibmUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-5.15.0-1028-nvidia-tegra-igxUpgrade linux-image-6.8.0-1025-gkeopUpgrade linux-image-6.8.0-1041-raspiUpgrade linux-image-6.8.0-1041-nvidia-lowlatency-64kUpgrade linux-image-6.14.0-1004-realtimeUpgrade linux-image-gkeop-5.15Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-6.11.0-1011-realtimeUpgrade linux-image-5.15.0-142-lowlatency-64kUpgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-lowlatency-64kUpgrade linux-image-intel-iotgUpgrade linux-image-5.15.0-1080-raspiUpgrade linux-image-realtimeUpgrade linux-image-gke-64k-6.8Upgrade linux-image-gke-6.8Upgrade linux-image-genericUpgrade linux-image-aws-lts-24.04Upgrade linux-image-6.8.0-1029-azure-nvidiaUpgrade linux-image-6.11.0-1015-awsUpgrade linux-image-5.15.0-1080-nvidia-lowlatencyUpgrade linux-image-5.15.0-1039-nvidia-tegraUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-virtualUpgrade linux-image-oem-20.04Upgrade linux-image-6.14.0-1007-oracleUpgrade linux-image-6.11.0-1018-azureUpgrade linux-image-6.8.0-1041-azureUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-azure-6.8Upgrade linux-image-oem-20.04dUpgrade linux-image-oracle-64kUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.11.0-1018-azure-fdeUpgrade linux-image-5.15.0-1086-awsUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-xilinx-zynqmpUpgrade linux-image-intelUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-azure-nvidia-lts-24.04Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-oem-22.04cUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-azure-fips-6.8Upgrade linux-image-5.15.0-1068-gkeopUpgrade linux-image-gcp-64k-6.8Upgrade linux-image-gcpUpgrade linux-image-aws-64k-lts-22.04Upgrade linux-image-6.8.0-1042-gcp-64kUpgrade linux-image-6.11.0-1016-gcpUpgrade linux-image-6.11.0-1014-raspiUpgrade linux-image-5.15.0-1082-kvmUpgrade linux-image-oracle-6.8Upgrade linux-image-oem-20.04cUpgrade linux-image-6.14.0-22-generic-64kUpgrade linux-image-oem-22.04Upgrade linux-image-lowlatencyUpgrade linux-image-6.11.0-1024-oemUpgrade linux-image-5.15.0-1081-intel-iotgUpgrade linux-image-5.15.0-1039-nvidia-tegra-rtUpgrade linux-image-6.14.0-1007-azureUpgrade linux-image-5.15.0-1085-gcpUpgrade linux-image-aws-64kUpgrade linux-image-6.8.0-1044-azure-fipsUpgrade linux-image-6.8.0-1041-awsUpgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-5.15.0-1091-azure-fipsUpgrade linux-image-5.15.0-1083-oracleUpgrade linux-image-6.8.0-1038-gke-64kUpgrade linux-image-nvidiaUpgrade linux-image-azure-lts-22.04Upgrade linux-image-raspi-realtimeUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-azure-6.11Upgrade linux-image-5.15.0-142-generic-64kUpgrade linux-image-5.15.0-142-genericUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-generic-6.8Upgrade linux-image-generic-64kUpgrade linux-image-6.8.0-1041-aws-64kUpgrade linux-image-6.14.0-1007-azure-fdeUpgrade linux-image-5.15.0-1080-nvidiaUpgrade linux-image-5.15.0-1079-intel-iot-realtimeUpgrade linux-image-nvidia-tegraUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-6.8.0-86-lowlatencyUpgrade linux-image-6.8.0-1038-gkeUpgrade linux-image-oem-22.04b | 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