Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en la funciones exec y escapeshellarg (CVE-2019-9859)

Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-78 Neutralización incorrecta de elementos especiales usados en un comando de sistema operativo (Inyección de comando de sistema operativo)
Fecha de publicación:
10/03/2020
Última modificación:
20/03/2020

Descripción

Vesta Control Panel (VestaCP) versiones 0.9.7 hasta 0.9.8-23 es vulnerable a una ejecución de comando autenticada que puede resultar en un acceso remoto a la root en el servidor. La plataforma funciona con PHP como lenguaje frontend y usa scripts de shell para ejecutar acciones del sistema. PHP ejecuta script de shell por medio del peligroso comando exec. Esta función puede ser peligrosa si los argumentos pasados no son filtrados. Cada entrada de usuario en VestaCP que se utiliza como argumento es filtrada con la función escapeshellarg. Esta función proviene directamente de la biblioteca PHP y su descripción es la siguiente: "escapeshellarg() agrega comillas simples alrededor de una cadena y cita/escapa a las comillas simples existentes permitiendo pasar una cadena directamente a una función de shell y hacer que se trate como un único argumento seguro". Quiere decir, que si le da nombre de usuario, tendrá "Username" como reemplazo. Esto opera bien y protege a usuarios de explotar esta función exec peligrosa potencialmente. Desafortunadamente, VestaCP utiliza esta función escapeshellarg incorrectamente en varios lugares.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:vestacp:vesta_control_panel:*:*:*:*:*:*:*:* 0.9.7-0 (incluyendo) 0.9.8-23 (incluyendo)


Referencias a soluciones, herramientas e información