CVE-2025-21921 net: ethtool: netlink: Allow NULL nlattrs when getting a phy_device
A null pointer dereference in the Linux kernel ethtool netlink subsystem allows local attackers to cause a system crash via specific PLCA commands.
- 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-21921?
CVE-2025-21921 is a medium-severity vulnerability in Linux kernel, published on 1 Apr 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: ethtool: netlink: Allow NULL nlattrs when getting a phy_device
ethnl_req_get_phydev() is used to lookup a phy_device, in the case an ethtool netlink command targets a specific phydev within a netdev's topology.
It takes as a parameter a const struct nlattr *header that's used for error handling :
if (!phydev) { NL_SET_ERR_MSG_ATTR(extack, header, "no phy matching phyindex"); return ERR_PTR(-ENODEV); }
In the notify path after a ->set operation however, there's no request attributes available.
The typical callsite for the above function looks like:
phydev = ethnl_req_get_phydev(req_base, tb[ETHTOOL_A_XXX_HEADER], info->extack);
So, when tb is NULL (such as in the ethnl notify path), we have a nice crash.
It turns out that there's only the PLCA command that is in that case, as the other phydev-specific commands don't have a notification.
This commit fixes the crash by passing the cmd index and the nlattr array separately, allowing NULL-checking it directly inside the helper.
Weakness: CWE-476
Which versions are affected by CVE-2025-21921?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2025-21921?
Apply the vendor's patch.
Is CVE-2025-21921 being exploited?
There is no known exploitation of CVE-2025-21921 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as BELL-CVE-2025-21921, DEBIAN-CVE-2025-21921, GHSA-qc6x-3767-556f, UBUNTU-CVE-2025-21921.