CVE-2026-98592 in Linux
Riassunto
di VulDB • 18/10/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
net: spacemit: pulire il descrittore TX in caso di errore nella mappatura dei frammenti
emac_tx_mem_map() scrive TX_DESC_0_OWN nel descrittore del ring per ogni slot oltre old_head non appena viene effettuato l'commit della copia locale memset()'d dello slot con "*tx_desc_addr = tx_desc", ovvero prima che i buffer per tale slot siano necessariamente stati mappati correttamente. Se emac_tx_map_frag() fallisce su un frammento successivo, il percorso err_free_skb chiama emac_free_tx_buf() per smappare e rilasciare lo skb, ma lascia intatta la memoria del descrittore già scritta, e tx_ring->head non viene mai avanzato oltre old_head (l'assegnazione "tx_ring->head = head" viene saltata dal goto).
Di conseguenza, uno slot compreso tra old_head e l'head ripristinato può rimanere con TX_DESC_0_OWN impostato e buffer_addr_{1,2} puntanti a mappature DMA che emac_free_tx_buf() ha appena smontato, mentre il software considera nuovamente libero tale slot. La successiva chiamata riuscita di emac_tx_mem_map() ricostruisce solo old_head stesso; se il motore DMA avanza automaticamente nel descrittore successivo una volta terminata l'elaborazione del pacchetto di old_head, recupererà quell'indirizzo obsoleto e già smappato.
emac_tx_clean_desc() tratta già emac_free_tx_buf() e la pulizia del descrittore come una coppia quando recupera i descrittori completati; fare lo stesso nel percorso di errore della mappatura.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.