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