CVE-2024-40937: gve: Clear napi->skb before dev_kfree_skb_any()
In the Linux kernel, the following vulnerability has been resolved:
gve: Clear napi->skb before dev_kfree_skb_any()
gve_rx_free_skb incorrectly leaves napi->skb referencing an skb after it
is freed with dev_kfree_skb_any(). This can result in a subsequent call
to napi_get_frags returning a dangling pointer.
Fix this by clearing napi->skb before the skb is freed.
Security readout for executives and security teams
Plain-English summary
A Linux GVE network-driver error can leave a reference to network data after that memory is freed. Reusing the stale reference could cause kernel memory corruption, potentially affecting confidentiality, integrity, or availability. Exposure appears limited to systems running an affected kernel with the GVE driver in use.
Executive priority
Treat as an urgent kernel patching issue where GVE is active, especially on exposed or business-critical hosts. Do not assume every Linux system is vulnerable. Require asset owners to establish driver use and package-level fix status, then expedite confirmed exposures through normal kernel update and reboot procedures.
Technical view
gve_rx_free_skb() frees an skb through dev_kfree_skb_any() without first clearing napi->skb. A later napi_get_frags() call can therefore return a dangling pointer, creating a kernel use-after-free condition. The stable fix clears napi->skb before freeing the skb.
Likely exposure
Prioritize Linux systems that use the GVE network driver and run affected kernel builds. The bundle lists affected versions across several kernel lines, but its version data is incomplete or ambiguous. Confirm exposure using the exact distribution kernel package, driver usage, and vendor advisory status.
Exploitation context
The supplied CVSS 3.1 score is 9.8 with network attack vector and no required privileges or user interaction. However, the sources provided do not document practical prerequisites, public exploitation, or active attacks. This CVE is not identified as KEV in the bundle.
Researcher notes
The core defect is a stale napi->skb reference after skb deallocation. The source bundle supplies multiple stable commits but does not map each commit clearly to every affected or fixed release. It also provides no demonstrated exploit chain. Package-level assessment should therefore rely on distribution backport information rather than upstream version numbers alone.
Mitigation direction
Install a vendor-supported kernel containing the applicable stable fix.
Follow distribution advisories to map fixed packages to deployed kernel versions.
Prioritize internet-facing or untrusted-network systems actively using the GVE driver.
Use vendor guidance for temporary risk reduction when immediate kernel replacement is unavailable.
Validation and detection
Record the running kernel and installed kernel package versions.
Confirm whether the GVE driver is loaded and bound to an active interface.
Compare deployed packages with distribution advisories and listed stable fixes.
After updating, reboot into the fixed kernel and verify the running version.
Monitor kernel logs for network-driver faults or memory-corruption symptoms.
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-40937 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.
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.