CVE-2025-38270: net: drv: netdevsim: don't napi_complete() from netpoll
In the Linux kernel, the following vulnerability has been resolved:
net: drv: netdevsim: don't napi_complete() from netpoll
netdevsim supports netpoll. Make sure we don't call napi_complete()
from it, since it may not be scheduled. Breno reports hitting a
warning in napi_complete_done():
WARNING: CPU: 14 PID: 104 at net/core/dev.c:6592 napi_complete_done+0x2cc/0x560
__napi_poll+0x2d8/0x3a0
handle_softirqs+0x1fe/0x710
This is presumably after netpoll stole the SCHED bit prematurely.
Security readout for executives and security teams
Plain-English summary
A Linux netdevsim networking flaw can trigger unsafe kernel behavior when netpoll interferes with packet-processing state. A local, low-privileged attacker may be able to compromise confidentiality, integrity, or availability, according to the supplied CVSS assessment. Exposure depends on the affected kernel code and use of netdevsim with netpoll.
Executive priority
Treat as a high-priority kernel maintenance issue on systems using the affected networking path, especially multi-user or locally accessible hosts. Broad emergency action is not supported by the evidence because active exploitation is unreported and exposure requires local access plus relevant netdevsim/netpoll conditions.
Technical view
The netdevsim netpoll path could call napi_complete() when NAPI was not scheduled, apparently because netpoll prematurely cleared the scheduling bit. This can produce a warning in napi_complete_done() and unsafe kernel-state handling. Referenced stable-kernel commits prevent completion from this context.
Likely exposure
Likely exposure is limited to Linux systems running affected kernel code where netdevsim and netpoll are available or used. The supplied affected-version data is ambiguous and does not clearly define complete vulnerable or fixed ranges. Confirm status against distribution-specific kernel advisories and backports.
Exploitation context
The CVSS vector describes local access, low complexity, low privileges, and no user interaction, with potentially high confidentiality, integrity, and availability impact. The bundle marks this CVE as absent from KEV and provides no evidence of active exploitation or a public exploit.
Researcher notes
The source bundle identifies the failure mechanism and three stable-kernel commits but provides no CWE, exploit evidence, or unambiguous release-range mapping. Researchers should compare distribution patches with the referenced commits and validate reachability of the netdevsim netpoll path without treating warning reproduction alone as proof of full compromise.
Mitigation direction
Apply a vendor-supported kernel update containing the referenced stable-kernel correction.
Check Linux distribution guidance for backport and fixed-package details.
Where operationally safe, disable or avoid unnecessary netdevsim and netpoll use until updated.
Prioritize shared or untrusted-user systems where local low-privileged access exists.
Validation and detection
Record the running kernel release and distribution package revision.
Determine whether netdevsim is built, loaded, or actively used.
Check whether netpoll-dependent functionality is configured on affected systems.
Verify the installed kernel includes the applicable referenced correction or vendor backport.
Review kernel logs for warnings involving napi_complete_done, __napi_poll, or netdevsim.
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-2025-38270 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.
1CVSS vectors
3Timeline events
0ADP providers
4Source links
CVSS vector scores
1 official score
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.