{"id":"CVE-2025-39947","title":"net/mlx5e: Harden uplink netdev access against device unbind","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet/mlx5e: Harden uplink netdev access against device unbind\n\nThe function mlx5_uplink_netdev_get() gets the uplink netdevice\npointer from mdev->mlx5e_res.uplink_netdev…","severity":"none","vendor":"Linux","product":"Linux","affected":["Linux >= 7a9fb35e8c3a67145fca262c304de65cb2f83abf < 2cb17c88edd3a1c7aa6bc880dcdb35a6866fcb2e","Linux >= 7a9fb35e8c3a67145fca262c304de65cb2f83abf < d1f3db4e7a3be29fc17f01850f162363f919370d","Linux >= 7a9fb35e8c3a67145fca262c304de65cb2f83abf < 8df354eb2dd63d111ed5ae2e956e0dbb22bcf93b","Linux >= 7a9fb35e8c3a67145fca262c304de65cb2f83abf < 6b4be64fd9fec16418f365c2d8e47a7566e9eba5","Linux 5.13"],"ssvc":{"exploitation":"none","automatable":"no","technicalImpact":"partial","timestamp":"2026-11-05T21:13:18.729112Z"},"published":"2025-10-04","updated":"2026-11-05","sourceUpdated":"2026-11-05T21:23:07.065Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2025-39947","references":[{"url":"https://git.kernel.org/stable/c/2cb17c88edd3a1c7aa6bc880dcdb35a6866fcb2e"},{"url":"https://git.kernel.org/stable/c/d1f3db4e7a3be29fc17f01850f162363f919370d"},{"url":"https://git.kernel.org/stable/c/8df354eb2dd63d111ed5ae2e956e0dbb22bcf93b"},{"url":"https://git.kernel.org/stable/c/6b4be64fd9fec16418f365c2d8e47a7566e9eba5"}],"tags":["cve.org"],"epss":0.00148,"epssPercentile":0.0403,"ingestedAt":"2026-11-05T22:38:32.048Z","slug":"CVE-2025-39947","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\nnet/mlx5e: Harden uplink netdev access against device unbind\n\nThe function mlx5_uplink_netdev_get() gets the uplink netdevice\npointer from mdev->mlx5e_res.uplink_netdev. However, the netdevice can\nbe removed and its pointer cleared when unbound from the mlx5_core.eth\ndriver. This results in a NULL pointer, causing a kernel panic.\n\n BUG: unable to handle page fault for address: 0000000000001300\n at RIP: 0010:mlx5e_vport_rep_load+0x22a/0x270 [mlx5_core]\n Call Trace:\n  <TASK>\n  mlx5_esw_offloads_rep_load+0x68/0xe0 [mlx5_core]\n  esw_offloads_enable+0x593/0x910 [mlx5_core]\n  mlx5_eswitch_enable_locked+0x341/0x420 [mlx5_core]\n  mlx5_devlink_eswitch_mode_set+0x17e/0x3a0 [mlx5_core]\n  devlink_nl_eswitch_set_doit+0x60/0xd0\n  genl_family_rcv_msg_doit+0xe0/0x130\n  genl_rcv_msg+0x183/0x290\n  netlink_rcv_skb+0x4b/0xf0\n  genl_rcv+0x24/0x40\n  netlink_unicast+0x255/0x380\n  netlink_sendmsg+0x1f3/0x420\n  __sock_sendmsg+0x38/0x60\n  __sys_sendto+0x119/0x180\n  do_syscall_64+0x53/0x1d0\n  entry_SYSCALL_64_after_hwframe+0x4b/0x53\n\nEnsure the pointer is valid before use by checking it for NULL. If it\nis valid, immediately call netdev_hold() to take a reference, and\npreventing the netdevice from being freed while it is in use.\n\n## Affected\n\n- `Linux >= 7a9fb35e8c3a67145fca262c304de65cb2f83abf < 2cb17c88edd3a1c7aa6bc880dcdb35a6866fcb2e`\n- `Linux >= 7a9fb35e8c3a67145fca262c304de65cb2f83abf < d1f3db4e7a3be29fc17f01850f162363f919370d`\n- `Linux >= 7a9fb35e8c3a67145fca262c304de65cb2f83abf < 8df354eb2dd63d111ed5ae2e956e0dbb22bcf93b`\n- `Linux >= 7a9fb35e8c3a67145fca262c304de65cb2f83abf < 6b4be64fd9fec16418f365c2d8e47a7566e9eba5`\n- `Linux 5.13`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"sunlit","depthScore":3,"depthScoreParts":{"impact":2.8,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}