# Xen XSA-478 (CVE-2025-58151): un error TOCTOU a varstored permet escalar privilegis des de la VM

- **Publicat el:** 2026-01-27
- **Categoria:** Seguretat
- **Pàgina original:** https://linuxgratis.com/ca/articles/cve-2025-58151-xen-xsa-478-varstored-toctou

Una condició de cursa TOCTOU a varstored, el component del toolstack Xapi que gestiona les variables UEFI, permet a un atacant amb accés de kernel a la VM executar codi i escalar privilegis. T'expliquem a qui afecta i com mitigar-ho.

---

El 27 de gener de 2026 el projecte Xen va publicar l'avís de seguretat **XSA-478**, que corregeix la vulnerabilitat **CVE-2025-58151** a **varstored**. Es tracta d'una condició de cursa de tipus **TOCTOU** (Time-of-Check-Time-of-Use) que pot permetre a un atacant amb accés a nivell de kernel dins d'una màquina virtual escalar privilegis i executar codi fora d'ella.

## Què és varstored i on és el problema

`varstored` és un component del **toolstack Xapi** (la pila de gestió que utilitzen les plataformes basades en Xen, com XenServer/XCP-ng) encarregat de gestionar les **variables UEFI** de les màquines virtuals. Per fer-ho, varstored accedeix a un **buffer de memòria compartit** amb el guest.

L'error neix de **barreres de compilador insuficients** en accedir a aquest buffer compartit. Com que el guest pot modificar el contingut de la memòria entre el moment en què varstored la **comprova** i el moment en què la **fa servir** (d'aquí el nom TOCTOU), s'introdueixen condicions de cursa. Segons l'avís, depenent del codi que generi el compilador, un atacant pot arribar a **controlar índexs de taules de salt** (jump tables), cosa que obre la porta a l'**execució de codi arbitrari dins de varstored**.

## A qui afecta

La vulnerabilitat afecta **exclusivament desplegaments amb el toolstack Xapi** i, segons l'avís oficial, **totes les versions de varstored** són vulnerables.

Perquè el problema sigui explotable s'han de donar aquestes condicions:

- El guest ha de ser una **màquina virtual HVM en x86** configurada com a **VM UEFI** (és a dir, amb `firmware=uefi` als paràmetres d'arrencada HVM).
- **No són explotables** els guests **PV** ni les VM configurades amb **BIOS** tradicional.

Cal subratllar que l'atacant necessita **accés de nivell kernel dins de la VM** per aprofitar l'error. No és un atac que es llanci directament des de fora de l'amfitrió: l'escenari és el d'un atacant que ja controla un guest UEFI i vol sortir-ne cap al toolstack de l'amfitrió.

## Gravetat i impacte

L'avís classifica l'impacte com a **escalada de privilegis**: un atacant amb control del kernel de la VM pot **executar codi dins de varstored**, que s'executa en el context de l'amfitrió. Això trenca l'aïllament que s'espera entre la màquina virtual i la infraestructura de gestió, cosa especialment greu en un entorn multi-tenant (diversos clients compartint maquinari). A la llista d'incidents l'hem catalogat amb **severitat alta**.

## Mitigació i pegat

Segons l'avís de Xen, **no existeixen workarounds**: l'única manera de mitigar la vulnerabilitat és **aplicar el pegat** publicat pel projecte (`xsa478.patch`). Si gestiones una plataforma basada en Xapi (XenServer, XCP-ng o derivats), les recomanacions pràctiques són:

- **Actualitzar varstored** tan bon punt la teva distribució o proveïdor publiqui els paquets corregits.
- Mentrestant, **revisar quines VM fan servir UEFI** i valorar el nivell de confiança de qui les opera, ja que el vector requereix control del kernel del guest.
- Mantenir al dia la resta d'avisos de Xen del mateix lot (XSA-477 i XSA-479 es van publicar la mateixa data), que convé aplicar de manera conjunta.

Aquest incident és un bon recordatori que la seguretat de la virtualització no acaba a l'hipervisor: el **toolstack** i els components auxiliars com varstored també formen part de la superfície d'atac, i un error en la sincronització de memòria compartida pot tenir conseqüències tan greus com un error al mateix Xen.

## Font

- Avís oficial: [Xen Security Advisory XSA-478 (CVE-2025-58151)](https://xenbits.xen.org/xsa/advisory-478.html)
- Detall del CVE: [CVE-2025-58151 a NVD](https://nvd.nist.gov/vuln/detail/CVE-2025-58151)
