CVE-2025-38149 net: phy: clear phydev->devlink when the link is deleted
A null pointer dereference in the Linux kernel network PHY subsystem can cause a system crash when network ports are disabled and re-enabled.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2025-38149?
CVE-2025-38149 is a medium-severity vulnerability in Linux kernel, published on 3 Jul 2025. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
In the Linux kernel, the following vulnerability has been resolved:
net: phy: clear phydev->devlink when the link is deleted
There is a potential crash issue when disabling and re-enabling the network port. When disabling the network port, phy_detach() calls device_link_del() to remove the device link, but it does not clear phydev->devlink, so phydev->devlink is not a NULL pointer. Then the network port is re-enabled, but if phy_attach_direct() fails before calling device_link_add(), the code jumps to the "error" label and calls phy_detach(). Since phydev->devlink retains the old value from the previous attach/detach cycle, device_link_del() uses the old value, which accesses a NULL pointer and causes a crash. The simplified crash log is as follows.
[ 24.702421] Call trace: [ 24.704856] device_link_put_kref+0x20/0x120 [ 24.709124] device_link_del+0x30/0x48 [ 24.712864] phy_detach+0x24/0x168 [ 24.716261] phy_attach_direct+0x168/0x3a4 [ 24.720352] phylink_fwnode_phy_connect+0xc8/0x14c [ 24.725140] phylink_of_phy_connect+0x1c/0x34
Therefore, phydev->devlink needs to be cleared when the device link is deleted.
Weakness: CWE-476
Which versions are affected by CVE-2025-38149?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2025-38149?
Apply the vendor's patch.
Is CVE-2025-38149 being exploited?
There is no known exploitation of CVE-2025-38149 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as AZL-64604, BELL-CVE-2025-38149, DEBIAN-CVE-2025-38149, GHSA-v9pw-x7p2-vvrx, ROOT-OS-UBUNTU-2404-CVE-2025-38149, UBUNTU-CVE-2025-38149.