L'apartat de l'avís de Xen que decideix la teva setmana són cinc paraules. Es titula MITIGATION i diu: «There is no known mitigation». A sota, a RESOLUTION, quatre pedaços. I els dos avisos següents de la llista ja tenen número i hora: XSA-529 i XSA-530, el 10 de novembre a les 18:00 UTC, sense que ningú de fora de l'embargament sàpiga encara què diuen.
XSA-523 es va publicar el 3 de novembre del 2026 a les 12:00 UTC i porta dos CVE: CVE-2026-102703 i CVE-2026-102704. El títol de l'avís és «arbitrary read/write via grant copy» i l'impacte cap en una frase: «A malicious guest can read and write arbitrary memory, belonging to other domains, including Dom0». És a dir, una màquina virtual qualsevol de l'amfitrió —la de proves, la que et va deixar muntar un proveïdor, la que un becari va exposar a internet— pot llegir i escriure la memòria de les altres i la del domini privilegiat.
Una cau de validació que validava malament
Les grant tables són el mecanisme amb què un convidat de Xen autoritza un altre domini a tocar pàgines concretes de la seva memòria. És la canonada per on passen el disc i la xarxa paravirtualitzats: sense ella, no hi ha rendiment. L'operació Grant Copy copia dades aprofitant aquells permisos, i com que es crida moltes vegades seguides sobre pàgines contigües, Xen desava en cau el resultat de la validació per no repetir-la. L'avís ho explica així: «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».
Els dos casos incorrectes són aquests, textuals:
- ·«Frame numbers and grant references could wrongly be mixed up.» Aquest és
CVE-2026-102703: l'hipervisor confonia l'identificador d'un permís amb el número físic d'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.» Aquest és
CVE-2026-102704. La comprovació existia. Estava al lloc equivocat.
L'apartat de sistemes vulnerables no deixa gaire marge: «All Xen versions from 4.6 onwards are vulnerable. Xen versions 4.5 and earlier are not vulnerable». La branca 4.6 és del 2015. No significa que ningú no l'hagi explotat durant onze anys —d'això no hi ha cap dada pública—, significa que el codi ha estat en totes les versions publicades des d'aleshores i que ningú no l'havia llegit d'aquesta manera.
El va trobar una màquina, i el van trobar dues vegades
L'apartat de crèdits d'un avís de seguretat sol ser protocol. Aquest 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 equips diferents, tots dos amb assistència de models, trobant el mateix error per separat, l'un després de l'altre. El que això mesura és qui està llegint avui aquell codi i a quina velocitat.
47 avisos el 2026. Deu en tot el 2025
El projecte Xen publica la llista completa dels seus avisos en un fitxer JSON, xsa.json, amb la data de publicació de cadascun. El vam descarregar el 4 de novembre del 2026 i vam agrupar per any. És un recompte reproduïble en una línia, així que si vols refer-lo no cal creure'ns:
curl -s https://xenbits.xen.org/xsa/xsa.json \ | jq -r '.[0].xsas[].public_time' | cut -c1-4 | sort | uniq -c
Per al 2026 aquella ordre retorna 49, i convé saber per què abans de mirar la taula: dos d'aquells registres són XSA-529 i XSA-530, que porten data del 10 de novembre i encara no s'han publicat. Publicats, a 4 de novembre, n'hi ha 47.
| Any | Avisos XSA publicats |
|---|---|
| 2020 | 48 |
| 2021 | 33 |
| 2022 | 33 |
| 2023 | 23 |
| 2024 | 19 |
| 2025 | 10 |
| 2026 (a 4 de novembre) | 47 + 2 amb data posada |
Gairebé cinc vegades el del 2025, en deu mesos, i l'any més carregat des del 2020. Dels dos que falten en sabem el que cap en una fila: a la columna de CVE hi diu «assigned, but embargoed», la de títol es queda en «(Preleased, but embargoed)» i la data de publicació ja està fixada per al 10 de novembre del 2026 a les 18:00 UTC. Un recompte d'avisos mesura l'atenció que rep un codi, no la seva qualitat. Per a qui l'opera, l'efecte pràctic és el mateix: la freqüència amb què hauràs de tocar els amfitrions la decideix la cadència d'un altre.
Les grant tables són la zona calenta de l'any
Filtrant el mateix fitxer pels avisos del 2026 el títol dels quals esmenta les grant tables o gnttab, en surten set. Són els títols tal com els publica el projecte.
- 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
Fixa't en XSA-500, del juliol: «type confusion in grant-copy». La mateixa operació, el mateix tipus de confusió, tres mesos abans. Quan una família d'avisos es repeteix així, el raonable és assumir que aquell codi tornarà a aparèixer a la llista, i planificar en conseqüència en lloc de tractar cada avís com un ensurt. És, d'altra banda, exactament el mateix raonament que apliquem en mirar què abasta de debò root en un node de virtualització: el límit entre el convidat i l'amfitrió no és una llei física, és codi.
Els pedaços són per a quatre branques. Vulnerables ho són totes des de la 4.6
L'avís adjunta quatre fitxers: xsa523-1.patch i xsa523-2.patch per a xen-unstable i la branca 4.19, i xsa523-4.18-1.patch i xsa523-4.18-2.patch per a 4.18 i 4.17. Aquestes són les branques per a les quals hi ha pedaç. Vulnerables ho són totes des de la 4.6. Si el teu hipervisor va per una branca anterior a la 4.17, perquè la va fixar un fabricant o perquè ningú no l'ha tocat des que es va instal·lar, el que tens al davant no és un pedaç: és una migració. I l'avís afegeix un detall que s'agraeix llegir abans i no durant: «patches for released versions are generally prepared to apply to the stable branches, and may not apply cleanly to the most recent release tarball».
Els que empaqueten per tu ja l'han tret, i els dos que vam mirar acaben a la mateixa línia. XCP-ng va publicar la seva actualització el mateix 3 de novembre, amb el paquet xen-hypervisor-4.17.7-4.2.xcpng8.3 al repositori de 8.3, i la descriu sense embuts: «This is a guest escape with no known mitigation other than the fix, so we recommend applying this update as soon as possible». Dos paràgrafs més avall hi ha la frase que costa diners: «Host reboots are necessary after this update». Qubes OS va treure el seu butlletí QSB-121 aquell mateix dia, afectant totes les versions suportades, i acaba igual: «Dom0 must be restarted afterward in order for the updates to take effect».
Nosaltres no fem servir Xen, i l'exercici és idèntic
La nostra plataforma de producció és Proxmox VE amb emmagatzematge Ceph, repartida en diversos centres de dades, i això és KVM. XSA-523 no ens toca. Això no converteix KVM en un lloc millor: té la seva pròpia cua d'avisos, i un pedaç del nucli d'un node Proxmox acaba exactament on acaba aquest, reiniciant l'amfitrió. Alguna excepció hi ha: fa unes setmanes vam explicar l'arranjament que no demanava finestra ni reinici.
Que un avís així sigui una tarda de feina o una aturada anunciada per correu a tota l'empresa depèn de tres coses, i cap d'elles és l'hipervisor que vas triar: si pots buidar un node en calent, quants en pots buidar a la vegada sense quedar-te sense memòria ni sense rèpliques, i si hi ha algú de guàrdia que ho faci quan toqui. Les dues primeres són disseny de plataforma: capacitat per funcionar amb un node menys, migració en viu que funcioni de debò i inventari de les VM que no migren perquè tenen maquinari passat per passthrough. D'això va infraestructura i cloud. La tercera és un torn, i és la distància que separa tenir el pedaç descarregat de tenir-lo aplicat. D'això va el nostre suport IT 24×7.
Cinc coses que es responen avui, no el dia 10
- 1.Quina branca d'hipervisor fa servir cada amfitrió, amb el número davant. Demana-ho en la forma en què ho escup la màquina:
xl infoopveversion -v. Qualsevol amfitrió per sota de la 4.17 necessita un pla de migració abans que un pedaç. - 2.Qui rep l'avís i a quina bústia entra. Xen té llista d'anuncis, els distribuïdors tenen la seva. Si el correu arriba a una adreça genèrica que ningú no obre els dilluns, el dia 10 a les 18:00 UTC no se n'assabentarà ningú.
- 3.Quant tarda a buidar-se i tornar un node, mesurat l'última vegada que es va fer. Amb data. Si l'última vegada va ser fa un any, el número que tens al cap ja ha caducat.
- 4.Quines màquines no migren en viu. Les que tenen una GPU o una targeta passada per passthrough i les de llicència lligada a maquinari. I, sobretot, les que algú va marcar com a no migrables sense apuntar per què. Aquestes són les que converteixen un reinici rodat en una aturada.
- 5.Quan va ser l'últim reinici planificat de cada amfitrió. Un amfitrió amb quatre-cents dies d'uptime no és un trofeu: és un reinici que no s'ha assajat mai i que estrenaràs amb pressa.
Les cinc es responen amb el que ja tens al davant. Després de set avisos tocant la mateixa zona del codi en un any, l'aposta sensata és que el pròxim demanarà el mateix que aquest: apedaçar i reiniciar. Aquella part es prepara abans de saber què diu.
Fonts. Consultades el 4 de novembre del 2026. La descripció de l'error, els dos CVE, l'impacte, les versions vulnerables des de la 4.6, la frase «There is no known mitigation», els quatre pedaços amb les seves branques, la nota sobre aplicar sobre la branca estable i els crèdits són de l'avís signat XSA-523 del Xen Project (versió 2, publicada el 3 de novembre del 2026 a les 12:00 UTC). El recompte per anys i la llista dels set avisos que toquen les grant tables són comptes nostres sobre el fitxer xsa.json del mateix projecte, descarregat aquell dia; l'ordre per refer-los és a l'article. L'estat «assigned, but embargoed» de XSA-529 i XSA-530 i la seva data del 10 de novembre del 2026 a les 18:00 UTC són a l'índex públic d'avisos, que adverteix que totes les hores són UTC. Les dues frases de XCP-ng («This is a guest escape with no known mitigation other than the fix…» i «Host reboots are necessary after this update») són de les notes d'actualització de XCP-ng 8.3 LTS del 3 de novembre del 2026, que no publiquen una etiqueta de severitat però sí que anomenen critical la vulnerabilitat dins del text. El nom exacte del paquet el vam comprovar al repositori d'actualitzacions de XCP-ng 8.3, on hi ha xen-hypervisor-4.17.7-4.2.xcpng8.3.x86_64.rpm; la nota del blog només diu que «Xen was synced with XenServer's 4.17.7-4 release». Que les quatre branques amb pedaç siguin les que tenen suport de seguretat és una lectura nostra, no una frase de l'avís. L'abast a totes les versions suportades i la frase sobre reiniciar Dom0 són del butlletí QSB-121 de Qubes OS. La data de la branca 4.6 (2015) és de l'anunci de release del Xen Project. Les cites es deixen en el seu anglès original perquè es puguin cercar literalment. El que diem de la nostra pròpia plataforma (Proxmox VE amb Ceph en diversos centres de dades) és nostre, no està avalat per cap d'aquelles fonts. La fotografia de la imatge social és «139 Server Room 01», d’Indrajit Das, CC BY-SA 3.0 via Wikimedia Commons.
Quants nodes pots buidar a la vegada sense avisar ningú?
Ho mirem amb tu: quina branca fa servir cada amfitrió, quines màquines no migren, quant tarda de debò un reinici rodat i qui l'executa quan l'avís surt un divendres a les sis de la tarda.
Parlar amb everyWAN