GHSA-F5V2-JRGP-7G6F
Vulnerability from github – Published: 2026-10-18 18:31 – Updated: 2026-10-18 18:31In 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.
{
"affected": [],
"aliases": [
"CVE-2026-98592"
],
"database_specific": {
"cwe_ids": [],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-10-18T16:17:11Z",
"severity": null
},
"details": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: spacemit: clear TX descriptor on fragment mapping failure\n\nemac_tx_mem_map() writes TX_DESC_0_OWN into the ring descriptor for\nevery slot beyond old_head as soon as that slot\u0027s memset()\u0027d local\ncopy is committed with \"*tx_desc_addr = tx_desc\", i.e. before the\nbuffers for that slot have necessarily all been mapped successfully.\nIf emac_tx_map_frag() then fails on a later fragment, the err_free_skb\npath calls emac_free_tx_buf() to unmap and drop the skb, but leaves\nthe already-written descriptor memory untouched, and tx_ring-\u003ehead is\nnever advanced past old_head (the \"tx_ring-\u003ehead = head\" store is\nskipped by the goto).\n\nSo a slot between old_head and the rolled-back head can be left with\nTX_DESC_0_OWN set and buffer_addr_{1,2} pointing at DMA mappings that\nemac_free_tx_buf() just tore down, while software considers that slot\nfree again. The next successful emac_tx_mem_map() call only rebuilds\nold_head itself; if the DMA engine auto-advances into the following\ndescriptor once it finishes old_head\u0027s packet, it will fetch that\nstale, already-unmapped address.\n\nemac_tx_clean_desc() already treats emac_free_tx_buf() and clearing\nthe descriptor as a pair when reclaiming completed descriptors; do\nthe same in the mapping failure path.",
"id": "GHSA-f5v2-jrgp-7g6f",
"modified": "2026-10-18T18:31:55Z",
"published": "2026-10-18T18:31:55Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-98592"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/2d14720beb58870b15a52b236c3ab0be0e06e915"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/3001a103a367c6051c43aff363b6979c10e65347"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/ca9986cc824f2feb79b4a83e5f6f4c24c2140448"
}
],
"schema_version": "1.4.0",
"severity": []
}
Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline
Sightings and recorded dates, grouped by day · UTC
Loading timeline…
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.