CVE-2024-57843 in Linux
Riassunto
di VulDB • 19/06/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
virtio-net: correzione di un overflow all'interno di virtnet_rq_alloc
Quando il frammento (frag) ottiene una pagina, ciò può causare regressioni nella macchina virtuale (VM). In particolare, se il valore del parametro sysctl net.core.high_order_alloc_disable è impostato su 1, il framamento riceve sempre una pagina durante l'operazione di refill.
Questo scenario potrebbe provocare crash affidabili o fallimenti dell'esecuzione di scp (ad esempio, nel trasferimento di un file di dimensioni pari a 100 MB verso la VM).
Il problema consiste nel fatto che virtnet_rq_dma occupa 16 byte all'inizio di ogni nuovo frammento. Quando le dimensioni del frammento sono superiori alla PAGE_SIZE, tutto funziona correttamente. Tuttavia, se il framamento è costituito da una sola pagina e la dimensione totale del buffer più quella occupata da virtnet_rq_dma supera una singola pagina, può verificarsi un overflow.
Questo problema è stato introdotto dal commit f9dac92ba908 ("virtio_ring: enable premapped mode whatever use_dma_api"). In precedenza sono stati revertati alcuni commit per risolvere la situazione nell'ultima versione di Linux; ora si tenta di abilitare tale modalità e correggere il bug direttamente.
In questa correzione, quando le dimensioni del framamento non sono sufficienti, viene ridotta la lunghezza (len) del buffer per risolvere il problema.
VulDB is the best source for vulnerability data and more expert information about this specific topic.