| From bippy-5f407fcff5a0 Mon Sep 17 00:00:00 2001 |
| From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| To: <linux-cve-announce@vger.kernel.org> |
| Reply-to: <cve@kernel.org>, <linux-kernel@vger.kernel.org> |
| Subject: CVE-2025-21717: net/mlx5e: add missing cpu_to_node to kvzalloc_node in mlx5e_open_xdpredirect_sq |
| |
| Description |
| =========== |
| |
| In the Linux kernel, the following vulnerability has been resolved: |
| |
| net/mlx5e: add missing cpu_to_node to kvzalloc_node in mlx5e_open_xdpredirect_sq |
| |
| kvzalloc_node is not doing a runtime check on the node argument |
| (__alloc_pages_node_noprof does have a VM_BUG_ON, but it expands to |
| nothing on !CONFIG_DEBUG_VM builds), so doing any ethtool/netlink |
| operation that calls mlx5e_open on a CPU that's larger that MAX_NUMNODES |
| triggers OOB access and panic (see the trace below). |
| |
| Add missing cpu_to_node call to convert cpu id to node id. |
| |
| [ 165.427394] mlx5_core 0000:5c:00.0 beth1: Link up |
| [ 166.479327] BUG: unable to handle page fault for address: 0000000800000010 |
| [ 166.494592] #PF: supervisor read access in kernel mode |
| [ 166.505995] #PF: error_code(0x0000) - not-present page |
| ... |
| [ 166.816958] Call Trace: |
| [ 166.822380] <TASK> |
| [ 166.827034] ? __die_body+0x64/0xb0 |
| [ 166.834774] ? page_fault_oops+0x2cd/0x3f0 |
| [ 166.843862] ? exc_page_fault+0x63/0x130 |
| [ 166.852564] ? asm_exc_page_fault+0x22/0x30 |
| [ 166.861843] ? __kvmalloc_node_noprof+0x43/0xd0 |
| [ 166.871897] ? get_partial_node+0x1c/0x320 |
| [ 166.880983] ? deactivate_slab+0x269/0x2b0 |
| [ 166.890069] ___slab_alloc+0x521/0xa90 |
| [ 166.898389] ? __kvmalloc_node_noprof+0x43/0xd0 |
| [ 166.908442] __kmalloc_node_noprof+0x216/0x3f0 |
| [ 166.918302] ? __kvmalloc_node_noprof+0x43/0xd0 |
| [ 166.928354] __kvmalloc_node_noprof+0x43/0xd0 |
| [ 166.938021] mlx5e_open_channels+0x5e2/0xc00 |
| [ 166.947496] mlx5e_open_locked+0x3e/0xf0 |
| [ 166.956201] mlx5e_open+0x23/0x50 |
| [ 166.963551] __dev_open+0x114/0x1c0 |
| [ 166.971292] __dev_change_flags+0xa2/0x1b0 |
| [ 166.980378] dev_change_flags+0x21/0x60 |
| [ 166.988887] do_setlink+0x38d/0xf20 |
| [ 166.996628] ? ep_poll_callback+0x1b9/0x240 |
| [ 167.005910] ? __nla_validate_parse.llvm.10713395753544950386+0x80/0xd70 |
| [ 167.020782] ? __wake_up_sync_key+0x52/0x80 |
| [ 167.030066] ? __mutex_lock+0xff/0x550 |
| [ 167.038382] ? security_capable+0x50/0x90 |
| [ 167.047279] rtnl_setlink+0x1c9/0x210 |
| [ 167.055403] ? ep_poll_callback+0x1b9/0x240 |
| [ 167.064684] ? security_capable+0x50/0x90 |
| [ 167.073579] rtnetlink_rcv_msg+0x2f9/0x310 |
| [ 167.082667] ? rtnetlink_bind+0x30/0x30 |
| [ 167.091173] netlink_rcv_skb+0xb1/0xe0 |
| [ 167.099492] netlink_unicast+0x20f/0x2e0 |
| [ 167.108191] netlink_sendmsg+0x389/0x420 |
| [ 167.116896] __sys_sendto+0x158/0x1c0 |
| [ 167.125024] __x64_sys_sendto+0x22/0x30 |
| [ 167.133534] do_syscall_64+0x63/0x130 |
| [ 167.141657] ? __irq_exit_rcu.llvm.17843942359718260576+0x52/0xd0 |
| [ 167.155181] entry_SYSCALL_64_after_hwframe+0x4b/0x53 |
| |
| The Linux kernel CVE team has assigned CVE-2025-21717 to this issue. |
| |
| |
| Affected and fixed versions |
| =========================== |
| |
| Issue introduced in 6.13 with commit bb135e40129ddd254cfb474b58981313be79a631 and fixed in 6.13.2 with commit a275db45b4161d01716559dd7557db9ea0450952 |
| Issue introduced in 6.13 with commit bb135e40129ddd254cfb474b58981313be79a631 and fixed in 6.14 with commit 979284535aaf12a287a2f43d9d5dfcbdc1dc4cac |
| |
| Please see https://www.kernel.org for a full list of currently supported |
| kernel versions by the kernel community. |
| |
| Unaffected versions might change over time as fixes are backported to |
| older supported kernel versions. The official CVE entry at |
| https://cve.org/CVERecord/?id=CVE-2025-21717 |
| will be updated if fixes are backported, please check that for the most |
| up to date information about this issue. |
| |
| |
| Affected files |
| ============== |
| |
| The file(s) affected by this issue are: |
| drivers/net/ethernet/mellanox/mlx5/core/en_main.c |
| |
| |
| Mitigation |
| ========== |
| |
| The Linux kernel CVE team recommends that you update to the latest |
| stable kernel version for this, and many other bugfixes. Individual |
| changes are never tested alone, but rather are part of a larger kernel |
| release. Cherry-picking individual commits is not recommended or |
| supported by the Linux kernel community at all. If however, updating to |
| the latest release is impossible, the individual changes to resolve this |
| issue can be found at these commits: |
| https://git.kernel.org/stable/c/a275db45b4161d01716559dd7557db9ea0450952 |
| https://git.kernel.org/stable/c/979284535aaf12a287a2f43d9d5dfcbdc1dc4cac |