Qué es esta vulnerabilidad
Esta vulnerabilidad permite a un atacante no autenticado ejecutar código arbitrario en cualquier instancia de Paperclip accesible por red que ejecute en modo authenticated con configuración por defecto. El ataque encadena cuatro fallos independientes en una secuencia de seis llamadas API para escalar desde acceso cero hasta ejecución remota de código (RCE).
La cadena de ataque comienza aprovechando que el registro de usuarios está habilitado por defecto sin verificación de email. El atacante crea una cuenta, inicia sesión, y luego explota un fallo crítico en el sistema de autenticación CLI donde puede crear y auto-aprobar sus propios desafíos de autenticación, obteniendo un token de API persistente. Con este token, explota un bypass de autorización en el endpoint de importación de empresas que no valida permisos de administrador de instancia para el modo new_company, permitiendo crear empresas con agentes que usan el adaptador process para ejecutar comandos arbitrarios del sistema.
Impacto y riesgo
Un atacante puede obtener acceso completo al sistema de archivos con los permisos del usuario del servidor Paperclip, acceso a toda la base de datos de la aplicación, capacidad de pivotar a servicios de red interna y habilidad para interrumpir todas las operaciones de agentes. El ataque es completamente automatizable, no requiere interacción del usuario y funciona contra la configuración de despliegue por defecto.
La vulnerabilidad expone datos sensibles almacenados en la instancia, configuraciones de adaptadores internos, y estructura de API interna. Además, el atacante puede aprobar, rechazar o solicitar revisiones en cualquier empresa, cancelar ejecuciones de agentes de cualquier empresa, y leer datos de issues de ejecuciones de heartbeat sin autenticación. También puede crear cuentas ilimitadas para agotamiento de recursos y mantener acceso persistente a través del token de API de board.
A quién afecta
Esta vulnerabilidad afecta a todas las instancias de Paperclip que ejecutan en modo authenticated con configuración por defecto. El problema surge porque PAPERCLIP_AUTH_DISABLE_SIGN_UP tiene valor por defecto false en server/src/config.ts, la verificación de email está deshabilitada en server/src/auth/better-auth.ts, y el endpoint de importación en server/src/routes/companies.ts no implementa la verificación assertInstanceAdmin para el modo new_company.
Las organizaciones que han desplegado Paperclip siguiendo la guía de despliegue oficial están en riesgo, ya que la variable de entorno para deshabilitar el registro no está documentada en la guía de despliegue, por lo que los operadores desconocen su existencia. El adaptador process acepta configuración de command y args y llama a spawn() directamente sin sandboxing, permitiendo ejecución de comandos arbitrarios cuando se importa a través del archivo .paperclip.yaml en el bundle de importación.
Esta vulnerabilidad representa un riesgo crítico en el ecosistema actual de IA donde las plataformas de agentes como Paperclip se están adoptando rápidamente para automatizar tareas empresariales. La combinación de registro abierto por defecto, auto-aprobación de credenciales CLI y bypass de autorización en funciones administrativas crea una superficie de ataque significativa que puede comprometer completamente la seguridad de despliegues de IA en producción.
