Blog Blog

CVE‑2025‑23120

CVE‑2025‑23120

1. 🛡️ Descripción general y contexto

CVE‑2025‑23120 es una vulnerabilidad crítica de ejecución remota de código (RCE) en Veeam Backup & Replication (hasta la versión 12.3.0.310). Afecta específicamente a servidores que están unidos a un dominio de Windows, permitiendo que usuarios autenticados en el dominio ejecuten código arbitrario en el servidor de respaldo con privilegios elevados (SYSTEM).
Se trata de una vulnerabilidad basada en deserialización de datos no confiables (CWE‑502) en componentes .NET utilizados internamente.

2. 💡 Detalles técnicos del fallo

  • El problema radica en cómo el software deserializa objetos recibidos a través del canal interno. Se utilizan clases como Veeam.Backup.EsxManager.xmlFrameworkDs y Veeam.Backup.Core.BackupSummary, ambas extienden DataSet y contienen métodos permitidos en la cadena de deserialización.
  • Veeam implementó una lista negra ("blacklist") para filtrar clases peligrosas, pero esta se basa en un enfoque estático y puede ser eludida. Investigadores han identificado gadgets (p.ej. XmlFrameworkDs, BackupSummary) que no fueron bloqueados y permiten ejecutar payloads arbitrarios.

3. 🧠 Vectores de ataque y explotación

Requisitos

  • El servidor de respaldo debe estar unido a un dominio.
  • El atacante necesita credenciales de usuario de dominio (puede ser cualquier "Domain User").
  • No se necesita interacción de administrador: la ejecución remota ocurre mediante la deserialización en el servicio Mount Service o similar.

Flujo de explotación

El atacante envía un objeto .NET mal formado (serialized) usando gadgets disponibles para xmlFrameworkDs o BackupSummary.

La lista negra permite esas clases, por lo que la deserialización continúa.

Al reconstruir el objeto, se ejecuta código en el servidor con reputación de protocolo interno, habilitando ejecución de payload (por ejemplo, reverse shell).

Se obtiene control total con privilegios de SYSTEM .

Ejemplo de exploit (resumen en C#):

https://github.com/CodeBugBox/CodeBugBox/blob/main/CVE%E2%80%912025%E2%80%9123120

El objeto corrupto es enviado al servicio de montaje/deserialización, provocando la ejecución del payload.

4. 🔐 Métodos de mitigación y soluciones disponibles

Parches oficialess

  • Actualizar inmediatamente a Veeam Backup & Replication 12.3.1 (build 12.3.1.1139).
  • Si no es posible actualizar, se puede aplicar un hotfix para la versión 12.3.0.310 (KB4724).

Controles adicionales

  • No unir servidores Veeam al dominio si no es necesario; mantenerlos en un entorno aislado .
  • Asegurar que el servidor no sea accesible directamente desde Internet.
  • Monitorear logs y audit trail de deserializaciones inusuales o acceso de usuarios en servicios internos.
  • Implementar soluciones de detección de anomalías (EDR/XDR) y aplicar controles de permisos de aplicaciones internas.

5. 🧷 Conclusión y reflexión técnica

CVE‑2025‑23120 es un claro ejemplo de cómo un fallo en la deserialización de objetos .NET, combinado con una lista negra insuficiente, puede derivar en una RCE crítica en sistemas esenciales como los backups. Algunos puntos clave:

  • El fallo utiliza gadgets deserializables (xmlFrameworkDs, BackupSummary) presentes en el código de Veeam que no estaban bloqueados.
  • Cualquier usuario de dominio puede explotar esta vulnerabilidad, lo que la convierte en un vector interno con un impacto alto.
  • Dada la criticidad de las soluciones de respaldo, los atacantes (especialmente ransomware) tienen un incentivo fuerte para explotar este fallo.

📌 Resumen final

AspectoDetalleNaturalezaRCE vía deserialización insegura de objetos .NETRequisitosUsuario de dominio en servidor unido, sin interacción de adminImpactoControl total (SYSTEM) sobre servidor de respaldoVersión afectadaVBR 12.3.0.310 y anterioresMitigaciónUpdate a 12.3.1 o aplicar hotfixRecomendaciónEvitar unir servidores al dominio y fortalecer controles internos

🛡️ En resumen, esta vulnerabilidad subraya la importancia de evitar listas negras en deserializaciones, reforzar validaciones en datos entrantes y minimizar la superficie de ataque interna. La rápida aplicación de parches y una arquitectura de separación efectiva son esenciales para proteger infraestructuras críticas como backups.

Nestor Martin Guerra Garcia (Dr. Plaga)

Nestor Martin Guerra Garcia (Dr. Plaga)

Consultor de Ciberseguridad | Protección de Datos y Gestión de Riesgos | Pentester old school