Live › vulnerability › CVE-2026-98592
Go to dashboardIn the SpacemiT Ethernet driver, a TX descriptor can stay marked as owned by hardware after a fragment mapping failure, pointing at DMA mappings that were already torn down. The DMA engine may then fetch that stale, unmapped address on a later transmit.
Summary written from the sources below. Check the originals before acting.
First seen by InfraStack 2026-10-23 21:57 UTC. All times on this page are UTC.
Systems running a Linux kernel with the SpacemiT Ethernet driver (net: spacemit), which is used on SpacemiT-based boards. The sources do not say which boards or configurations are common, so unknown. Hosts using other network hardware are unlikely to be affected.
No product ranges from the sources yet.
uname -r and compare it against the distribution's security advisory for this CVE.Each row is the first time that source carried this signal. The analyst’s rows are its own findings.
In the Linux kernel, the following vulnerability has been resolved:
net: spacemit: clear TX descriptor on fragment mapping failure
emac_tx_mem_map() writes TX_DESC_0_OWN into the ring descriptor for every slot beyond old_head as soon as that slot's memset()'d local copy is committed with "*tx_desc_addr = tx_desc", i.e. before the buffers for that slot have necessarily all been mapped successfully. If emac_tx_map_frag() then fails on a later fragment, the err_free_skb path calls emac_free_tx_buf() to unmap and drop the skb, but leaves the already-written descriptor memory untouched, and tx_ring->head is never advanced past old_head (the "tx_ring->head = head" store is skipped by the goto).
So a slot between old_head and the rolled-back head can be left with TX_DESC_0_OWN set and buffer_addr_{1,2} pointing at DMA mappings that emac_free_tx_buf() just tore down, while software considers that slot free again. The next successful emac_tx_mem_map() call only rebuilds old_head itself; if the DMA engine auto-advances into the following descriptor once it finishes old_head's packet, it will fetch that stale, already-unmapped address.
emac_tx_clean_desc() already treats emac_free_tx_buf() and clearing the descriptor as a pair when reclaiming completed descriptors; do the same in the mapping failure path.
This page as .md · .json · in your agent: get_signal("CVE-2026-98592")
NVD data is provided by NIST and is public domain. Posts quoted belong to their authors.