Volver al Blog

XSA-523 no tiene mitigación: tiene reinicio del host

El apartado del aviso de Xen que decide tu semana son cinco palabras. Se titula MITIGATION y dice: «There is no known mitigation». Debajo, en RESOLUTION, cuatro parches. Y los dos avisos siguientes de la lista ya tienen número y hora: XSA-529 y XSA-530, el 10 de noviembre a las 18:00 UTC, sin que nadie fuera del embargo sepa todavía qué dicen.

XSA-523 se publicó el 3 de noviembre de 2026 a las 12:00 UTC y lleva dos CVE: CVE-2026-102703 y CVE-2026-102704. El título del aviso es «arbitrary read/write via grant copy» y el impacto cabe en una frase: «A malicious guest can read and write arbitrary memory, belonging to other domains, including Dom0». Es decir, una máquina virtual cualquiera del host —la de pruebas, la que te dejó montar un proveedor, la que un becario expuso a internet— puede leer y escribir la memoria de las demás y la del dominio privilegiado.

Una caché de validación que se validaba mal

Las grant tables son el mecanismo con el que un invitado de Xen autoriza a otro dominio a tocar páginas concretas de su memoria. Es la tubería por la que pasan el disco y la red paravirtualizados: sin ella, no hay rendimiento. La operación Grant Copy copia datos aprovechando esos permisos, y como se llama muchas veces seguidas sobre páginas contiguas, Xen guardaba en caché el resultado de la validación para no repetirla. El aviso lo explica así: «For performance reasons, Xen caches details internally to reuse already validated data. The conditions on when to re-validate the internal data were not correct in some cases».

Los dos casos incorrectos son estos, textuales:

  • ·«Frame numbers and grant references could wrongly be mixed up.» Ese es CVE-2026-102703: el hipervisor confundía el identificador de un permiso con el número físico de una página.
  • ·«Copying by frame number (rather than grant reference) is permitted only when operating on the caller's own memory. The check to enforce this restriction was misplaced.» Ese es CVE-2026-102704. La comprobación existía. Estaba en el sitio equivocado.

El apartado de sistemas vulnerables no deja mucho margen: «All Xen versions from 4.6 onwards are vulnerable. Xen versions 4.5 and earlier are not vulnerable». La rama 4.6 es de 2015. No significa que nadie lo haya explotado durante once años —de eso no hay dato público ninguno—, significa que el código ha estado en todas las versiones publicadas desde entonces y que nadie lo había leído de esta manera.

Lo encontró una máquina, y lo encontraron dos veces

El apartado de créditos de un aviso de seguridad suele ser protocolo. Este no: «This issue was discovered by Anthropic using Claude, then validated by Stephan Lipp of Ada Logics. It was then independently reported by the CodeAnt AI Security Research Team». Dos equipos distintos, los dos con asistencia de modelos, encontrando el mismo fallo por separado, uno después del otro. Lo que eso mide es quién está leyendo hoy ese código y a qué velocidad.

47 avisos en 2026. Diez en todo 2025

El proyecto Xen publica la lista completa de sus avisos en un fichero JSON, xsa.json, con la fecha de publicación de cada uno. Lo descargamos el 4 de noviembre de 2026 y agrupamos por año. Es una cuenta reproducible en una línea, así que si quieres rehacerla no hace falta creernos:

curl -s https://xenbits.xen.org/xsa/xsa.json \
  | jq -r '.[0].xsas[].public_time' | cut -c1-4 | sort | uniq -c

Para 2026 ese comando devuelve 49, y conviene saber por qué antes de mirar la tabla: dos de esos registros son XSA-529 y XSA-530, que llevan fecha del 10 de noviembre y todavía no se han publicado. Publicados, a 4 de noviembre, hay 47.

Año Avisos XSA publicados
202048
202133
202233
202323
202419
202510
2026 (a 4 de noviembre)47 + 2 con fecha puesta

Casi cinco veces lo de 2025, en diez meses, y el año más cargado desde 2020. De los dos que faltan sabemos lo que cabe en una fila: en la columna de CVE pone «assigned, but embargoed», la de título se queda en «(Preleased, but embargoed)» y la fecha de publicación ya está fijada para el 10 de noviembre de 2026 a las 18:00 UTC. Un recuento de avisos mide la atención que recibe un código, no su calidad. Para quien lo opera, el efecto práctico es el mismo: la frecuencia con la que vas a tener que tocar los hosts la decide la cadencia de otro.

Las grant tables son la zona caliente del año

Filtrando el mismo fichero por los avisos de 2026 cuyo título menciona las grant tables o gnttab, salen siete. Son los títulos tal cual los publica el proyecto.

  • XSA-486 · 28-04-2026 · grant table v2 race in status page mapping
  • XSA-500 · 28-07-2026 · grant-table: type confusion in grant-copy
  • XSA-501 · 28-07-2026 · grant-table: version change racing with other operations
  • XSA-517 · 13-10-2026 · grant-table: double version change race
  • XSA-519 · 13-10-2026 · Arm: multiple issues with GNTTABOP_cache_flush
  • XSA-520 · 13-10-2026 · gnttab: cache-flush handling may cause page reference leak
  • XSA-523 · 03-11-2026 · arbitrary read/write via grant copy

Fíjate en XSA-500, de julio: «type confusion in grant-copy». La misma operación, el mismo tipo de confusión, tres meses antes. Cuando una familia de avisos se repite así, lo razonable es asumir que ese código va a volver a aparecer en la lista, y planificar en consecuencia en vez de tratar cada aviso como un sobresalto. Es, por otro lado, exactamente el mismo razonamiento que aplicamos al mirar qué alcanza de verdad root en un nodo de virtualización: el límite entre el invitado y el host no es una ley física, es código.

Los parches son para cuatro ramas. Vulnerables lo son todas desde la 4.6

El aviso adjunta cuatro ficheros: xsa523-1.patch y xsa523-2.patch para xen-unstable y la rama 4.19, y xsa523-4.18-1.patch y xsa523-4.18-2.patch para 4.18 y 4.17. Esas son las ramas para las que hay parche. Vulnerables lo son todas desde la 4.6. Si tu hipervisor va por una rama anterior a la 4.17, porque la fijó un fabricante o porque nadie la ha tocado desde que se instaló, lo que tienes por delante no es un parche: es una migración. Y el aviso añade un detalle que se agradece leer antes y no durante: «patches for released versions are generally prepared to apply to the stable branches, and may not apply cleanly to the most recent release tarball».

Los que empaquetan por ti ya lo han sacado, y los dos que miramos acaban en la misma línea. XCP-ng publicó su actualización el mismo 3 de noviembre, con el paquete xen-hypervisor-4.17.7-4.2.xcpng8.3 en el repositorio de 8.3, y la describe sin rodeos: «This is a guest escape with no known mitigation other than the fix, so we recommend applying this update as soon as possible». Dos párrafos más abajo está la frase que cuesta dinero: «Host reboots are necessary after this update». Qubes OS sacó su boletín QSB-121 ese mismo día, afectando a todas las versiones soportadas, y acaba igual: «Dom0 must be restarted afterward in order for the updates to take effect».

Nosotros no corremos Xen, y el ejercicio es idéntico

Nuestra plataforma de producción es Proxmox VE con almacenamiento Ceph, repartida en varios centros de datos, y eso es KVM. XSA-523 no nos toca. Eso no convierte a KVM en mejor sitio: tiene su propia cola de avisos, y un parche del kernel de un nodo Proxmox acaba exactamente donde acaba este, reiniciando el host. Alguna excepción hay: hace unas semanas contamos el arreglo que no pedía ventana ni reinicio.

Que un aviso así sea una tarde de trabajo o una parada anunciada por correo a toda la empresa depende de tres cosas, y ninguna de ellas es el hipervisor que elegiste: si puedes vaciar un nodo en caliente, cuántos puedes vaciar a la vez sin quedarte sin memoria ni sin réplicas, y si hay alguien de guardia que lo haga cuando toque. Las dos primeras son diseño de plataforma: capacidad para funcionar con un nodo menos, migración en vivo que funcione de verdad e inventario de las VM que no migran porque tienen hardware pasado por passthrough. De eso va infraestructura y cloud. La tercera es un turno, y es la distancia que separa tener el parche descargado de tenerlo aplicado. De eso va nuestro soporte IT 24×7.

Cinco cosas que se responden hoy, no el día 10

  • 1.Qué rama de hipervisor corre cada host, con el número delante. Pídelo en la forma en que lo escupe la máquina: xl info o pveversion -v. Cualquier host por debajo de la 4.17 necesita un plan de migración antes que un parche.
  • 2.Quién recibe el aviso y en qué buzón entra. Xen tiene lista de anuncios, los distribuidores tienen la suya. Si el correo llega a una dirección genérica que nadie abre los lunes, el día 10 a las 18:00 UTC no se va a enterar nadie.
  • 3.Cuánto tarda en vaciarse y volver un nodo, medido la última vez que se hizo. Con fecha. Si la última vez fue hace un año, el número que tienes en la cabeza ya ha caducado.
  • 4.Qué máquinas no migran en vivo. Las que tienen una GPU o una tarjeta pasada por passthrough y las de licencia atada a hardware. Y, sobre todo, las que alguien marcó como no migrables sin apuntar por qué. Esas son las que convierten un reinicio rodado en una parada.
  • 5.Cuándo fue el último reinicio planificado de cada host. Un host con cuatrocientos días de uptime no es un trofeo: es un reinicio que no se ha ensayado nunca y que vas a estrenar con prisa.

Las cinco se responden con lo que ya tienes delante. Después de siete avisos tocando la misma zona del código en un año, la apuesta sensata es que el próximo pedirá lo mismo que este: parchear y reiniciar. Esa parte se prepara antes de saber qué dice.

Fuentes. Consultadas el 4 de noviembre de 2026. La descripción del fallo, los dos CVE, el impacto, las versiones vulnerables desde la 4.6, la frase «There is no known mitigation», los cuatro parches con sus ramas, la nota sobre aplicar sobre la rama estable y los créditos son del aviso firmado XSA-523 del Xen Project (versión 2, publicada el 3 de noviembre de 2026 a las 12:00 UTC). El recuento por años y la lista de los siete avisos que tocan las grant tables son cuentas nuestras sobre el fichero xsa.json del propio proyecto, descargado ese día; el comando para rehacerlas está en el artículo. El estado «assigned, but embargoed» de XSA-529 y XSA-530 y su fecha del 10 de noviembre de 2026 a las 18:00 UTC están en el índice público de avisos, que advierte que todas las horas son UTC. Las dos frases de XCP-ng («This is a guest escape with no known mitigation other than the fix…» y «Host reboots are necessary after this update») son de las notas de actualización de XCP-ng 8.3 LTS del 3 de noviembre de 2026, que no publican una etiqueta de severidad pero sí llaman critical a la vulnerabilidad en el texto. El nombre exacto del paquete lo comprobamos en el repositorio de actualizaciones de XCP-ng 8.3, donde está xen-hypervisor-4.17.7-4.2.xcpng8.3.x86_64.rpm; la nota del blog solo dice que «Xen was synced with XenServer's 4.17.7-4 release». Que las cuatro ramas con parche sean las que tienen soporte de seguridad es una lectura nuestra, no una frase del aviso. El alcance a todas las versiones soportadas y la frase sobre reiniciar Dom0 son del boletín QSB-121 de Qubes OS. La fecha de la rama 4.6 (2015) es del anuncio de release del Xen Project. Las citas se dejan en su inglés original para que se puedan buscar literalmente. Lo que decimos de nuestra propia plataforma (Proxmox VE con Ceph en varios centros de datos) es nuestro, no está respaldado por ninguna de esas fuentes. La fotografía de la imagen social es «139 Server Room 01», de Indrajit Das, CC BY-SA 3.0 vía Wikimedia Commons.

¿Cuántos nodos puedes vaciar a la vez sin avisar a nadie?

Lo miramos contigo: qué rama corre cada host, qué máquinas no migran, cuánto tarda de verdad un reinicio rodado y quién lo ejecuta cuando el aviso sale un viernes a las seis de la tarde.

Hablar con everyWAN

Etiquetas:

Compartir:

Suscríbete a nuestra newsletter

Para recibir historias del mundo IT, novedades de everyWAN y ofertas exclusivas para suscriptores, date de alta a nuestra lista de correo

everyWAN
everyWAN