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