OpenClaw CVE-2026-33579: Probable Compromiso

CVE-2026-33579 es una vulnerabilidad de escalada de privilegios en OpenClaw anterior a la versión 2026.3.28 que permite a atacantes con permisos mínimos (operator.pairing) obtener acceso administrativo completo a la instancia. Fue descubierta por AntAISecurityLab y paracheada el 29 de marzo de 2026, con CVSS 8.6 HIGH.

En 30 segundos

  • OpenClaw 2026.3.27 y anteriores tienen un fallo en el endpoint /pair approve que no valida permisos correctamente
  • Atacantes con scope operator.pairing (permiso bajo) pueden silenciosamente aprobar pairings que les dan operator.admin (control total)
  • CVSS 8.6 HIGH según el National Vulnerability Database
  • Solución: actualizar a OpenClaw 2026.3.28 inmediatamente (lanzado 29 de marzo de 2026)
  • Señal de compromiso: skills no autorizados con timestamps sospechosos, comandos en terminal que no ejecutaste

Qué es OpenClaw: contexto de la vulnerabilidad

OpenClaw es un agente de IA autohospedado que ejecuta comandos en tu máquina o servidor según instrucciones de modelos de lenguaje. Es código abierto, bastante popular en Argentina y LATAM entre equipos que quieren IA local sin depender de APIs externas. El tema es que si tu agente IA puede ejecutar comandos shell, bash, SQL, o manejar credenciales, el sistema de permisos es literalmente lo que separa “usar la herramienta normalmente” de “que un atacante te derribe el servidor”.

OpenClaw usa un modelo de “scopes” (permisos). Hay scopes bajos como operator.pairing (autorizar nuevos dispositivos) y altos como operator.admin (control total). La idea es que si alguien se cuela con permisos bajos, al menos no puede hacer daño. Bueno, ta que no fue así.

CVE-2026-33579: la vulnerabilidad explicada

openclaw cve-2026-33579 diagrama explicativo

Una escalada de privilegios ocurre cuando alguien sube desde permisos bajos (usuario sin derechos de admin) a permisos altos (usuario admin). CVE-2026-33579 es exactamente eso. Fue asignada una puntuación CVSS 8.6 HIGH, clasificada como CWE-863 (Incorrect Authorization). La vulnerabilidad se publicó en NVD el 31 de marzo de 2026, dos días después de que el parche salió.

El descubridor fue AntAISecurityLab, una firma de seguridad que probablemente estaba auditando código de IA abierto y se topó con esto. La realidad es clara: OpenClaw tenía un bug de autorización en un lugar crítico, alguien se dio cuenta, OpenClaw lo parcheó rápido, y luego se reportó oficialmente.

Datos clave: la versión arreglada es OpenClaw 2026.3.28, lanzada el 29 de marzo de 2026. Si tu instancia corre algo anterior a eso (2026.3.27, 2026.3.26, cualquier v2 anterior, etc.), estás vulnerable.

Cómo funciona el ataque: detalles técnicos

Ponele que vos deployaste OpenClaw en tu servidor, y quisiste que un colega pueda autorizar nuevos dispositivos sin que pueda borrar skills ni ejecutar comandos arbitrarios. Le diste scope operator.pairing. En teoría, eso es lo máximo que puede hacer. Lo explicamos a fondo en prácticas de seguridad en plataformas de código.

El endpoint vulnerable es /pair approve. Este endpoint recibe una solicitud de pairing de un nuevo dispositivo y la aprueba. El fallo está acá: el código que valida si tenés permiso para aprobar la solicitud no verifica qué scopes le estás dando al nuevo dispositivo. Así que aunque vos tenés solo operator.pairing, podés aprobar un pairing que le asigne operator.admin al atacante. Básicamente, escalaste tus propios permisos sin que el sistema se diera cuenta.

Los archivos afectados están documentados en el advisory oficial: extensions/device-pair/index.ts (donde está la lógica del pairing) y src/infra/device-pairing.ts (la capa de infraestructura). El parche agregó una validación que replicate los security scopes del que está haciendo la solicitud hacia la autorización final. En otras palabras, “si vos solo tenés operator.pairing, los dispositivos que autorices también van a tener como máximo operator.pairing“.

¿Quién está afectado? Versiones vulnerables

Cualquier instalación de OpenClaw anterior a 2026.3.28 está vulnerable. Eso incluye todas las versiones de 2026 hasta la 2026.3.27, y cualquier versión 2025 o anterior. Si hiciste deploy hace un tiempo y nunca actualizaste, estás en riesgo.

El timeline es importante: el marco de ataque teórico va desde que OpenClaw se hizo popular (años atrás) hasta el 29 de marzo de 2026. Cualquier instancia lanzada o no actualizada en ese período pudo haber sido comprometida. Y acá viene el punto preocupante: si OpenClaw corre sin autenticación entre servicios internos, alguien que tenga acceso de red a tu servidor podría aprovechar esto sin haber tenido nunca credenciales dentro de OpenClaw.

Cómo detectar si tu instancia fue comprometida

Hay varias señales que te pueden alertar de que algo pasó antes de que actualices:

  • Skills no autorizados: Ejecutá openclaw skills list y mirá los timestamps. Si hay skills con nombres sospechosos (tipo “system_monitor”, “credential_dump”, “persistence_daemon”) creados en fechas en las que vos no tocaste nada, es una bandera roja. Agregá timestamps a tu búsqueda si el CLI lo permite.
  • Comandos en historial: Revisá los logs de ejecución de comandos (usualmente en ~/.openclaw/history o donde esté configurado). Si ves comandos que vos no ejecutaste, especialmente apt-get install, wget, curl, o commands de reverse shell, alguien entró.
  • exec.approvals desactivado: Este es el máximo riesgo. Si la configuración tiene exec.approvals: false, OpenClaw ejecuta comandos sin que vos los confirmes. Si está desactivado y no lo hiciste vos, trata la instancia como comprometida.
  • Monitoreo de puertos: Los agentes de OpenClaw escuchan en puertos específicos, típicamente 18789 (TCP) y mDNS broadcast en _openclaw-gw._tcp. Si ves conexiones entrantes desde IPs desconocidas a esos puertos, investigá.
  • Directorios de caché: Buscá en ~/.openclaw/, ~/clawd/, ~/.clawdbot/. Si hay directorios o archivos que no reconocés (especialmente con permisos de ejecución), revisá contenido.

Ojo: la ausencia de señales no significa que no fue comprometido. Si alguien entró, aprovechó el acceso, y se fue limpio, vas a ver poco. Por eso la actualización es prioritaria.

Solución inmediata: cómo actualizar a 2026.3.28

Esto tiene que ser tu prioridad número uno. Hoy. No “mañana cuando termino esto”, hoy. Para más detalles técnicos, mirá herramientas IA vulnerables a este tipo de ataque.

Paso 1: Bajá la versión 2026.3.28 desde el repositorio oficial de OpenClaw o desde GitHub Releases. Verificá que el checksum coincida con lo documentado (si tienen checksums publicados, úsalos).

Paso 2: Hacé un backup de tu instancia actual. `cp -r ~/.openclaw ~/.openclaw.backup` es lo mínimo.

Paso 3: Parala instancia: `systemctl stop openclaw` (si usás systemd) o lo que uses en tu setup.

Paso 4: Instalá la nueva versión. Si usás npm: `npm install -g [email protected]`. Si usás Docker, actualizá la imagen. Si compilás desde fuente, git clone fresh y build.

Paso 5: Arrancá de nuevo: `systemctl start openclaw`.

Paso 6: Verificá que la versión sea la correcta: `openclaw –version` debe decirte 2026.3.28 o superior.

Versiones posteriores (como 2026.3.31) agregaron bloqueos automáticos de skills con código peligroso (shellcode patterns, acceso a secretos no autorizados). No es obligatorio actualizar a esas, pero tampoco está mal. Tema relacionado: alternativas más seguras para alojar código.

Qué hacer si crees que fuiste comprometido

Si la detección anterior te levantó banderas, acá está el protocolo:

  • Aisla el equipo: Desconectá el servidor de internet. Si corre en VPS, desconectá del grupo de seguridad. El objetivo es evitar que el atacante siga ejecutando comandos.
  • Rota credenciales: TODAS. Si OpenClaw accede a databases, tenés credenciales en archivo, keys de AWS, tokens de GitHub, lo que sea. Asumí que el atacante las leyó. Generá nuevas, updatea en todos lados.
  • Trata como comprometida: Si exec.approvals estaba desactivado, o si encontraste skills desconocidos, o si hay comandos en historial que no hiciste, entonces sí: el servidor fue comprometido. Plan B es limpiar todo desde una imagen limpia.
  • Revisá logs del SO: En Linux, revisá /var/log/auth.log, /var/log/syslog, intent de login fallidos, cambios de sudoers, instalación de paquetes. Buscá por timestamps sospechosos.
  • Después de confirmar limpieza: Recién entonces volvé a conectar, hacé las actualizaciones, y levantá OpenClaw de nuevo con la versión parcheada.

Mejores prácticas: no caer en esta vulnerabilidad de nuevo

La regla de oro en seguridad es el principio de menor privilegio: cada usuario, proceso, o servicio debería tener el mínimo de permisos que necesita para funcionar. OpenClaw no necesita correr como root, no necesita acceso sin restricciones a tu base de datos, no necesita las credenciales de AWS guardadas en plaintext.

Si vas a self-host OpenClaw, ponelo en un contenedor (Docker) o VPS aislado, no en tu máquina principal. Usá una imagen limpia, agrégale solo lo que OpenClaw necesita, y punto. Si el servidor se ve comprometido, perdés una VPS, no tu infraestructura entera.

Revisá regularmente tu config de OpenClaw (cada mes está bien). Chequeá que exec.approvals esté en true, que no haya skills extraños, que los permisos de usuarios sean los que vos asignaste. Si usás LDAP o SSO, verificá que la sincronización funcione.

Monitorea actualizaciones de OpenClaw. Seguí su GitHub, o registrate en su lista de seguridad si la tienen. Cuando sale un parche, consideralo urgente si es de autorización o ejecución de código (como este).

Si publicás skills en el marketplace de OpenClaw, desde febrero de 2026 hay integración con VirusTotal para validar que el código no es malicioso. Verificá el score antes de instalar skills de terceros.

Por último, credenciales (API keys, tokens, passwords): no las guardes dentro de OpenClaw. Usá un vault (Vault de HashiCorp, AWS Secrets Manager, o similar) y hacé que OpenClaw las pida en tiempo de ejecución. Si el servidor se ve comprometido, el daño es limitado.

Errores comunes

Pensar “esto no afecta mi instancia porque la tengo en red local”

Si tu red local tiene un atacante (un colega malicioso, malware en otro equipo, WiFi comprometido), puede atacar OpenClaw igual. Red local no significa red segura. Aplicá los mismos controles de autorización que en internet. Sobre eso hablamos en cómo validar el cumplimiento de seguridad.

Esperar a ver si alguien reporta un exploit público antes de actualizar

CVSS 8.6 es alto. Es cuestión de tiempo que alguien publique un PoC (proof of concept). Si esperas, es probable que en una semana haya exploit público siendo usado en la salvaje. Actualizá ya, no mañana.

Actualizar sin revisar qué cambió entre versiones

Es raro, pero a veces un parche de seguridad rompe algo. Leé los release notes de OpenClaw 2026.3.28. Si hay warnings o cambios breaking, mejor enterarte antes que en producción (si es que aún tienes producción funcionando).

Preguntas Frecuentes

¿Qué es CVE-2026-33579 en OpenClaw?

Es una vulnerabilidad donde el endpoint /pair approve falla en validar los permisos. Permite que alguien con scope operator.pairing (bajo) apruebe pairings que le asignan operator.admin (control total) a nuevos dispositivos. CVSS 8.6 HIGH. Parcheada en 2026.3.28.

¿Mi versión de OpenClaw está afectada?

Sí, si corre versión 2026.3.27 o anterior. Ejecutá openclaw --version para verificar. Si dice 2026.3.28 o superior, estás bien. Si dice 2026.0.x, 2025.x.x, o cualquier cosa anterior a 2026.3.28, estás vulnerable.

¿Cómo detectar si fueron hackeados mi OpenClaw?

Buscá skills no autorizados con openclaw skills list, revisá ~/.openclaw/history para comandos sospechosos, chequeá que exec.approvals esté en true. Si hay directorio ~/clawd/ o archivos en ~/.openclaw/ que no creaste, investigá. Lo ideal es que confíes en el archivo de log del SO (/var/log/auth.log en Linux) más que en OpenClaw mismo, porque si fue comprometido, OpenClaw puede no reportar correctamente.

¿Cómo actualizar OpenClaw a 2026.3.28?

Backup primero, después: npm install -g [email protected] (si usás npm), o actualizá tu imagen Docker, o compilá desde GitHub release official. Parala vieja instancia, instalá nueva, arrancá, verificá con openclaw --version.

¿Qué debo hacer si tengo OpenClaw comprometido?

Aisla el servidor (desconecta de internet). Rota todas las credenciales que OpenClaw tenga acceso (databases, APIs, keys). Revisá logs del OS para ver qué hizo el atacante. Considerá limpiar desde imagen limpia. Solo después de confirmar que está limpio, actualizá a 2026.3.28.

Conclusión

CVE-2026-33579 es un fallo de autorización critico en OpenClaw que escaló desde “usuario sin permisos” a “usuario admin” sin que el sistema se enterara. Si tu instancia corre 2026.3.27 o anterior, estás en riesgo real. El parche existe, es simple de aplicar, y es tu prioridad de hoy.

Lo importante acá no es solo actualizar OpenClaw, sino entender por qué pasó: un bug en dónde se valida autorización. Eso va a pasar de nuevo en otros sistemas si no prestás atención. Aplicá el principio de menor privilegio, aislá servicios, monitoreá cambios, rota credenciales. OpenClaw es una herramienta poderosa, pero el poder sin barreras de seguridad es peligroso.

Fuentes

Te puede interesar...