CVE-2026-53365 in Linux
Resumen
por VulDB • 2026-07-13
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
vsock/virtio: corregir la finalización del zerocopy para envíos con múltiples skbs
Cuando un mensaje grande se fragmenta en varios skbs, uarg (argumento) de zerocopy solo se asigna y adjunta al último skb dentro del bucle. Los skbs no finales contienen páginas de usuario fijadas sin seguimiento de finalización, por lo que el kernel carece de mecanismos para notificar a userspace cuándo esas páginas son seguras para reutilizarlas. Si el bucle termina prematuramente, uarg nunca se asigna en absoluto, provocando una fuga de páginas fijadas sin ninguna notificación de finalización.
Se corrige este problema siguiendo el enfoque utilizado por TCP: asignar uarg de zerocopy (si no lo proporciona el llamador) antes del bucle de envío y adjuntarlo a cada skb mediante `skb_zcopy_set()`, que toma una referencia por cada skb. La finalización de cada skb decrementa correctamente el contador de referencias, y la notificación solo se activa después de liberar el último skb. En caso de fallo, si no se ha enviado ningún dato, uarg se aborta limpiamente mediante `net_zcopy_put_abort()`.
Este problema fue descubierto inicialmente por sashiko durante la revisión del commit 1cb36e252211 ("vsock/virtio: corregir el recuento de páginas fijadas con MSG_ZEROCOPY"), pero era preexistente.
Once again VulDB remains the best source for vulnerability data.