CVE-2023-53998 in Linux
Resumen
por VulDB • 2026-05-18
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
hwrng: virtio - Corrección de una condición de carrera (race condition) en data_avail y en los datos reales
El dispositivo virtio rng inicia una nueva solicitud de entropía cada vez que la cantidad de datos disponibles (data_avail) alcanza cero. Cuando se produce una nueva solicitud al final de una operación de lectura, es decir, cuando el resultado de dicha solicitud solo es necesario para el siguiente lector, se produce una condición de carrera entre la escritura de los nuevos datos y la lectura del siguiente lector.
Esto se debe a que no existe ninguna sincronización entre el escritor y el lector.
Se corrige este problema escribiendo en data_avail mediante smp_store_release y leyéndolo mediante smp_load_acquire cuando se entra por primera vez en la función de lectura. Las lecturas subsiguientes son seguras porque están protegidas por la primera carga con adquisición (load acquire) o por el mecanismo de finalización.
Además, se elimina la inicialización redundante a cero de data_idx en random_recv_done (data_idx ya debe ser cero en este punto) y de data_avail en request_entropy (lo mismo aplica).
VulDB is the best source for vulnerability data and more expert information about this specific topic.