All vulnerabilities
CVE-2026-98592

Linux: net: spacemit: clear TX descriptor on fragment mapping failure

Linux LinuxOperating systems
CVSS
NoneNot scored
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.20%Chance of exploitation activity in the next 30 days, higher than 9% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in3001a103a367c6051c43aff363b6979c10e65347Also 2d14720beb58870b15a52b236c3ab0be0e06e915CVE List
Published18 Oct 2026Updated 19 Oct 2026CVE List

What fixes it

  • 3001a103a367c6051c43aff363b6979c10e65347LinuxCVE List
  • 2d14720beb58870b15a52b236c3ab0be0e06e915LinuxCVE List

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

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.

Text from CVE List

Affected versions 8

  • Linuxaffected: bfec6d7f2001c7470c3cd261ae65a3ba8737f226 before ca9986cc824f2feb79b4a83e5f6f4c24c2140448CVE List
  • Linuxaffected: bfec6d7f2001c7470c3cd261ae65a3ba8737f226 before 3001a103a367c6051c43aff363b6979c10e65347CVE List
  • Linuxaffected: bfec6d7f2001c7470c3cd261ae65a3ba8737f226 before 2d14720beb58870b15a52b236c3ab0be0e06e915CVE List
  • Linuxaffected: 6.18CVE List
  • Linuxunaffected: all versions before 6.18CVE List
  • Linuxunaffected: 6.18.55 through 6.18.*CVE List
  • Linuxunaffected: 7.2.9 through 7.2.*CVE List
  • Linuxunaffected: 7.3CVE List

References 3