CVE Catalog

CVE-2024-56719

MediumCVSS 5.5
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, a bug in the stmmac driver's DMA handling for TSO causes an oops. The issue stems from a delayed assignment of the DMA cookie in stmmac_tso_xmit(), violating DMA API requirements. This leads to DMA mapping failures and messages about freeing unallocated DMA memory.

Risk Assessment

The organization may experience system crashes (oops) or network interface instability, leading to service disruptions. In production environments, this can result in packet loss and network performance degradation.

Recommendation

Immediately update the Linux kernel to a version containing the fix (commit addressing the issue). Monitor system logs for DMA_API_DEBUG messages and DMA mapping errors.

Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: net: stmmac: fix TSO DMA API usage causing oops Commit 66600fac7a98 ("net: stmmac: TSO: Fix unbalanced DMA map/unmap for non-paged SKB data") moved the assignment of tx_skbuff_dma[]'s members to be later in stmmac_tso_xmit(). The buf (dma cookie) and len stored in this structure are passed to dma_unmap_single() by stmmac_tx_clean(). The DMA API requires that the dma cookie passed to dma_unmap_single() is the same as the value returned from dma_map_single(). However, by moving the assignment later, this is not the case when priv->dma_cap.addr64 > 32 as "des" is offset by proto_hdr_len. This causes problems such as: dwc-eth-dwmac 2490000.ethernet eth0: Tx DMA map failed and with DMA_API_DEBUG enabled: DMA-API: dwc-eth-dwmac 2490000.ethernet: device driver tries to +free DMA memory it has not allocated [device address=0x000000ffffcf65c0] [size=66 bytes] Fix this by maintaining "des" as the original DMA cookie, and use tso_des to pass the offset DMA cookie to stmmac_tso_allocator(). Full details of the crashes can be found at: https://lore.kernel.org/all/[email protected]/ https://lore.kernel.org/all/klkzp5yn5kq5efgtrow6wbvnc46bcqfxs65nz3qy77ujr5turc@bwwhelz2l4dw/

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