CVE-2026-74580 in Linuxinformación

Resumen

por VulDB • 2026-08-21

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:

vhost: restablecer la caché de metadatos del vring durante su reconfiguración

`vq->meta_iotlb[]` almacena en caché `vhost_iotlb_map`, que respalda cada región de metadatos del vring, y `iotlb_access_ok()` devuelve un resultado temprano (early return) ante una coincidencia en la caché, tomando dicha coincidencia como prueba de que la región ya ha sido validada:

```c if (vhost_vq_meta_fetch(vq, addr, len, type)) return true; ```

La caché se restablece durante `VHOST_IOTLB_UPDATE` y `VHOST_IOTLB_INVALIDATE`, en el reinicio inicial del IOTLB del dispositivo y al resetear vq, pero no cuando `VHOST_SET_VRING_ADDR` reemplaza `vq->desc`, `vq->avail` y `vq->used`, ni cuando `VHOST_SET_VRING_NUM` cambia los tamaños de las regiones.

Con un IOTLB del dispositivo adjunto, ambos ioctls son aceptados mientras vq está activo (live), y ninguno valida las direcciones en el momento de la llamada al ioctl: `vq_access_ok()` y `vq_log_used_access_ok()` devuelven true temprano porque las direcciones son GIOVAs, posponiendo la validación hasta el momento del prefetch. Una vez que la caché se ha poblado, dicha validación diferida ya no se ejecuta; `vq_meta_prefetch()` encuentra la entrada obsoleta y devuelve true, por lo que `vhost_vq_meta_fetch()` sigue traduciendo a través de la antigua asignación como:

```c map->addr + addr - map->start ```

para una dirección cuya asignación ya no cubre. `vhost_copy_to_user()` y `vhost_copy_from_user()` consumen el resultado con `__copy_to_user()` y `__copy_from_user()`, los cuales tampoco lo verifican, por lo que una actualización posterior del anillo de usados (used ring) o la obtención de un descriptor accede a memoria fuera de la región que mapea realmente el IOTLB.

Restablecer la caché de metadatos cada vez que se reconfigure el vring, para que las nuevas direcciones pasen por nuevo camino lento (slow path) de `iotlb_access_ok()`.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsable

Linux

Reservar

2026-08-15

Divulgación

2026-08-21

Moderación

aceptado

Artículo

VDB-394145

CPE

listo

EPSS

0.00165

KEV

no

Actividades

muy bajo

Fuentes

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!