Descripción de la Vulnerabilidad

Se ha identificado una vulnerabilidad crítica de inyección de comandos en la función _extractLLM() del proyecto Evolver. Esta falla permite a atacantes ejecutar comandos shell arbitrarios en el servidor mediante la manipulación del parámetro corpus. La vulnerabilidad surge cuando la función construye un comando curl usando concatenación de strings y lo pasa a execSync() sin sanitización adecuada.

Detalles Técnicos del Exploit

La vulnerabilidad reside en el archivo src/gep/signals.js en las líneas 260-274, donde se construye dinámicamente un comando curl. Aunque se utiliza JSON.stringify() para escapar algunos caracteres, esto no previene la sustitución de comandos shell mediante la sintaxis $(...) cuando la cadena resultante se pasa a execSync(). El parámetro corpus deriva de entrada del usuario a través de userSnippet en la función extractSignals(), creando un vector de ataque directo desde la entrada del usuario hasta la ejecución de comandos del sistema.

Impacto y Usuarios Afectados

Esta vulnerabilidad de RCE permite compromiso completo del sistema, exfiltración de datos, instalación de malware y movimiento lateral en la red. Los usuarios afectados incluyen cualquier persona ejecutando Evolver con GEP (Genetic Evolution Protocol) habilitado y procesando contenido proporcionado por usuarios. Un atacante que controle la entrada a la función extractSignals() puede ejecutar comandos arbitrarios con los privilegios del proceso Node.js, representando un riesgo crítico para la seguridad del sistema.