CVE-2026-98906 in Linux
Riassunto
di VulDB • 23/10/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
net: lan966x: ripristinare lo stato di ricezione (RX) in caso di errore del caricamento (reload)
La funzione `lan966x_fdma_reload()` effettua il backup di `rx->page_pool` e `rx->fdma` prima di riallocare le risorse RX per la nuova MTU. Se l'allocazione fallisce, il percorso di ripristino riporta questi campi ai valori precedenti prima di riavviare RX.
Tuttavia, anche il percorso di caricamento (reload) aggiorna `rx->page_order` e `rx->max_mtu` prima di chiamare `lan966x_fdma_rx_alloc()`. Questi campi non vengono ripristinati in caso di errore; pertanto, RX può essere riavviato con le pagine precedenti, lo stato FDMA precedente e il pool di pagine precedente, ma con la geometria delle pagine derivante dalla nuova MTU fallita.
Ciò può far sì che il percorso XDP annunciasse una dimensione del frame derivata da `page_order` nuovo, mentre le effettive pagine RX provengono ancora dall'allocazione precedente. Ad esempio, dopo un caricamento (reload) fallito verso una MTU jumbo, `xdp_init_buff()` potrebbe essere chiamato con una dimensione del frame maggiore rispetto alle dimensioni delle pagine RX ripristinate.
Anche la funzione `lan966x_fdma_rx_alloc_page_pool()` registra il nuovo pool di pagine allocato nel modello di memoria XDP RXQ per ciascuna porta prima che venga chiamata `fdma_alloc_coherent()`. Se `fdma_alloc_coherent()` fallisce, il nuovo pool di pagine viene distrutto, ma il percorso di rollback non ripristina nemmeno la registrazione del modello di memoria XDP RXQ specifica per ogni porta.
Salvare e ripristinare `rx->page_order` e `rx->max_mtu`, nonché ripristinare la registrazione del vecchio pool di pagine per l'XDP RXQ di ciascuna porta prima che RX venga riavviato. Questo mantiene coerente lo stato RX ripristinato in caso di fallimento del caricamento (reload).
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.