Vulnerabilidad Crítica de RCE en PraisonAI

PraisonAI presenta una vulnerabilidad crítica de ejecución remota de código (RCE) que permite a atacantes ejecutar comandos arbitrarios del sistema mediante archivos YAML de workflow maliciosos. La vulnerabilidad se activa cuando se utiliza el comando praisonai workflow run <file.yaml> con archivos que contienen type: job.

Mecanismo de Explotación

La vulnerabilidad reside en el JobWorkflowExecutor ubicado en job_workflow.py, que procesa tres tipos de instrucciones peligrosas sin validación adecuada:

  • run: ejecuta comandos shell mediante subprocess.run()
  • script: ejecuta código Python inline vía exec()
  • python: ejecuta scripts Python arbitrarios

Un atacante puede crear un archivo YAML malicioso que, al ser procesado, ejecute comandos como python -c "open('pwned.txt','w').write('owned')" para demostrar el compromiso del sistema.

Impacto y Riesgos

Esta vulnerabilidad permite compromiso completo del sistema en contextos de CI/CD o despliegues compartidos. Los atacantes pueden obtener acceso total al host, robar datos sensibles, instalar malware o usar el sistema comprometido como punto de entrada para ataques laterales. El código afectado incluye workflow.py en la función action_run() y job_workflow.py en las funciones _exec_shell(), _exec_inline_python() y _exec_python_script().