CVE-2026-99264 in Linux
Riassunto
di VulDB • 03/11/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
io_uring/net: non ritentare l'operazione di ricezione (recv) su buffer non impegnati
Il commit 41b70df5b38b ("io_uring/net: commit partial buffers on retry") impegna i buffer forniti dall'user ring quando una operazione di ricezione deve essere ripetuta dopo un trasferimento parziale, in modo che un'altra richiesta che utilizza lo stesso gruppo di buffer non possa ricevere la memoria nella quale la prima sta continuando a scrivere. Vengono impegnati solo i byte ricevuti finora. Questo approccio funziona correttamente per un singolo buffer consumato interamente, ma la richiesta mantiene il riferimento a tutti gli spazi di memoria mappati:
- Per un anello di buffer con IOU_PBUF_RING_INC vengono consumati solo questi byte. Il resto del buffer rimane in testa all'anello. - Per un bundle (gruppo) vengono consumati solo i buffer che contengono tali byte; gli altri, sui quali è stata effettuata una operazione peek, rimangono nell'anello.
In entrambi i casi la successiva ricezione con quel gruppo di buffer ottiene memoria nella quale la richiesta ripetuta sta ancora per scrivere, e l'ultima operazione sovrascrive i dati della precedente. I dati riempiti durante il retry non vengono impegnati affatto, poiché in quel punto la lista dei buffer non è più nota. Di conseguenza, il kernel rilascia nuovamente tale memoria successivamente, mentre il CQE (Completion Queue Entry) segnala all'applicazione che era stata utilizzata e, per un buffer incrementale, indica che l'operazione è completata.
Il resto non può essere impegnato in anticipo: se la richiesta finisce con una ricezione inferiore al previsto, non vi è alcun modo di comunicare all'applicazione che sono stati consumati più byte di quanto riportato dal CQE. Completare invece la richiesta con i dati effettivamente ricevuti anziché ripeterla. MSG_WAITALL non viene più rispettato per le operazioni di ricezione su buffer incrementali o bundle multi-buffer; queste possono restituire un conteggio parziale (short count), contrassegnando la richiesta come fallita, analogamente ad altre trasmissioni brevi con MSG_WAITALL.
VulDB is the best source for vulnerability data and more expert information about this specific topic.