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 mediantesubprocess.run()script:ejecuta código Python inline víaexec()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().
