CVE Catalog

CVE-2024-57932

CriticalCVSS 9.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.20%

10th percentile - higher than 10% of all known CVEs

Summary

In the Linux kernel, in the gve driver, the XDP XMIT NDO callback lacks a guard to check for the existence of dedicated XDP queues. When no XDP program is installed or the interface is down, a divide-by-zero error or NULL TX pointer access can occur.

Risk Assessment

The risk includes system crashes (panic) or network instability, especially during interface state transitions, which may lead to service disruptions.

Recommendation

It is recommended to update the Linux kernel to a version containing the fix that adds an early return from the XDP XMIT callback when XDP queues do not exist, and synchronizes with synchronize_net().

Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: gve: guard XDP xmit NDO on existence of xdp queues In GVE, dedicated XDP queues only exist when an XDP program is installed and the interface is up. As such, the NDO XDP XMIT callback should return early if either of these conditions are false. In the case of no loaded XDP program, priv->num_xdp_queues=0 which can cause a divide-by-zero error, and in the case of interface down, num_xdp_queues remains untouched to persist XDP queue count for the next interface up, but the TX pointer itself would be NULL. The XDP xmit callback also needs to synchronize with a device transitioning from open to close. This synchronization will happen via the GVE_PRIV_FLAGS_NAPI_ENABLED bit along with a synchronize_net() call, which waits for any RCU critical sections at call-time to complete.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS