CVE-2024-26587: net: netdevsim: don't try to destroy PHC on VFs
In the Linux kernel, the following vulnerability has been resolved:
net: netdevsim: don't try to destroy PHC on VFs
PHC gets initialized in nsim_init_netdevsim(), which
is only called if (nsim_dev_port_is_pf()).
Create a counterpart of nsim_init_netdevsim() and
move the mock_phc_destroy() there.
This fixes a crash trying to destroy netdevsim with
VFs instantiated, as caught by running the devlink.sh test:
BUG: kernel NULL pointer dereference, address: 00000000000000b8
RIP: 0010:mock_phc_destroy+0xd/0x30
Call Trace:
<TASK>
nsim_destroy+0x4a/0x70 [netdevsim]
__nsim_dev_port_del+0x47/0x70 [netdevsim]
nsim_dev_reload_destroy+0x105/0x120 [netdevsim]
nsim_drv_remove+0x2f/0xb0 [netdevsim]
device_release_driver_internal+0x1a1/0x210
bus_remove_device+0xd5/0x120
device_del+0x159/0x490
device_unregister+0x12/0x30
del_device_store+0x11a/0x1a0 [netdevsim]
kernfs_fop_write_iter+0x130/0x1d0
vfs_write+0x30b/0x4b0
ksys_write+0x69/0xf0
do_syscall_64+0xcc/0x1e0
entry_SYSCALL_64_after_hwframe+0x6f/0x77
Security readout for executives and security teams
Plain-English summary
This is a Linux kernel crash bug in the netdevsim network simulation driver. When virtual functions exist, teardown can try to destroy a clock object that was never created, causing a NULL pointer dereference. The public sources describe a crash, not remote compromise or data theft.
Executive priority
Low priority for most production environments, but patch through normal kernel maintenance. Prioritize faster where netdevsim is used in CI, kernel testing, network simulation, or environments where a local crash affects availability.
Technical view
netdevsim initializes PHC only for physical-function ports, but teardown attempted mock_phc_destroy() for virtual-function paths. The fix moves PHC destruction into a counterpart cleanup path matching initialization, preventing a NULL dereference during netdevsim device removal or reload with VFs instantiated.
Likely exposure
Exposure appears limited to Linux systems using the netdevsim driver with virtual functions, especially test or development environments exercising devlink reload/removal. The sources do not show broad default production exposure. Confirm distro kernel configuration, loaded modules, and vendor backports.
Exploitation context
The source bundle reports no KEV listing, no CVSS score, and no public exploitation evidence. The demonstrated failure is a kernel crash during a devlink.sh test path. Preconditions and attacker privileges are not fully described in the provided sources.
Researcher notes
Evidence supports a NULL pointer dereference in netdevsim teardown, fixed by aligning PHC cleanup with PF-only initialization. The bundle does not provide CVSS, CWE, privilege requirements, or exploitability beyond the crash observed by devlink.sh.
Mitigation direction
Upgrade to a kernel containing the referenced stable fixes.
Check distribution advisories for backported fixes to supported kernels.
Avoid loading or exercising netdevsim with VFs on unfixed systems.
Treat direct wrangling of upstream version numbers cautiously; vendors may backport fixes.
Validation and detection
Check whether netdevsim is built, installed, or loaded on Linux hosts.
Identify kernel versions and vendor advisory status for CVE-2024-26587.
Review test or lab systems that create netdevsim virtual functions.
Confirm the relevant stable fix commit is present or backported.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2024-26587 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.