CVE-2025-22065: idpf: fix adapter NULL pointer dereference on reboot
In the Linux kernel, the following vulnerability has been resolved:
idpf: fix adapter NULL pointer dereference on reboot
With SRIOV enabled, idpf ends up calling into idpf_remove() twice.
First via idpf_shutdown() and then again when idpf_remove() calls into
sriov_disable(), because the VF devices use the idpf driver, hence the
same remove routine. When that happens, it is possible for the adapter
to be NULL from the first call to idpf_remove(), leading to a NULL
pointer dereference.
echo 1 > /sys/class/net/<netif>/device/sriov_numvfs
reboot
BUG: kernel NULL pointer dereference, address: 0000000000000020
...
RIP: 0010:idpf_remove+0x22/0x1f0 [idpf]
...
? idpf_remove+0x22/0x1f0 [idpf]
? idpf_remove+0x1e4/0x1f0 [idpf]
pci_device_remove+0x3f/0xb0
device_release_driver_internal+0x19f/0x200
pci_stop_bus_device+0x6d/0x90
pci_stop_and_remove_bus_device+0x12/0x20
pci_iov_remove_virtfn+0xbe/0x120
sriov_disable+0x34/0xe0
idpf_sriov_configure+0x58/0x140 [idpf]
idpf_remove+0x1b9/0x1f0 [idpf]
idpf_shutdown+0x12/0x30 [idpf]
pci_device_shutdown+0x35/0x60
device_shutdown+0x156/0x200
...
Replace the direct idpf_remove() call in idpf_shutdown() with
idpf_vc_core_deinit() and idpf_deinit_dflt_mbx(), which perform
the bulk of the cleanup, such as stopping the init task, freeing IRQs,
destroying the vports and freeing the mailbox. This avoids the calls to
sriov_disable() in addition to a small netdev cleanup, and destroying
workqueues, which don't seem to be required on shutdown.
Security readout for executives and security teams
Plain-English summary
CVE-2025-22065 is a Linux kernel availability bug in the idpf network driver. On systems using SR-IOV with idpf devices, a reboot path can call cleanup twice and dereference a NULL adapter pointer, causing a kernel crash. This is operationally disruptive but requires local privileges and specific hardware/configuration exposure.
Executive priority
Treat as a targeted availability risk for virtualization or network-heavy Linux hosts. Patch during normal kernel maintenance, with faster handling for production hosts that use idpf with SR-IOV. This is not evidenced as internet-exploited or data-theft related in the provided sources.
Technical view
The issue is CWE-476 in Linux idpf shutdown/remove handling. With SR-IOV enabled, idpf_shutdown() can call idpf_remove(), then sriov_disable() can trigger idpf_remove() again for virtual functions. The first cleanup can leave adapter NULL, causing a NULL pointer dereference. Fix commits replace the shutdown remove call with narrower deinitialization routines.
Likely exposure
Exposure is most likely on Linux systems using the idpf driver with SR-IOV enabled, such as hosts with compatible Intel infrastructure networking devices. General Linux systems without idpf or SR-IOV are unlikely to be exposed based on the provided sources.
Exploitation context
The CVSS vector is local, low complexity, low privileges, no user interaction, and high availability impact. The source bundle marks KEV as false and provides no evidence of active exploitation. The public description includes a crash condition during reboot, not remote compromise.
Researcher notes
The provided data supports a local denial-of-service assessment. Affected version information is summarized in the bundle but not fully normalized here, so rely on upstream stable commits and distribution advisories for precise package status. No exploit status beyond KEV=false is supported.
Mitigation direction
Apply Linux stable kernel updates containing the referenced idpf fixes.
Check distribution vendor advisories for backported kernel packages.
Prioritize SR-IOV hosts using the idpf driver.
Consider disabling SR-IOV on affected hosts until patched if operationally acceptable.
Plan maintenance windows because remediation likely requires kernel replacement and reboot.
Validation and detection
Inventory hosts for Linux kernels using the idpf driver.
Identify systems with SR-IOV enabled for idpf-managed devices.
Compare running kernels against vendor fixed packages or referenced stable commits.
Review reboot crash logs for idpf NULL pointer dereference traces.
Confirm patched kernels no longer include the vulnerable shutdown/remove path.
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.
cwe · low confidence lookup
CWE-476: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
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.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-476 · source CWE mapping
NULL Pointer Dereference
NULL Pointer Dereference represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.