
Exploit de prueba de concepto para CVE-2021-26121: Inyección de plantillas del lado del servidor en CS-Cart <=4.12.x que permite al administrador de la tienda lograr ejecución remota de código mediante la edición de plantillas Smarty.
Descubierto por: Steven Seeley de 360 Vulcan Team
Versión: <= 4.12.x (última)
Fecha: 2021-01-08 12:49
CVE: CVE-2021-26121
Un administrador de tienda (que no debe confundirse con un administrador raíz) puede obtener ejecución remota de código mediante la inyección de plantillas Smarty del lado del servidor al editar plantillas. Esto se debe a que CSCart no implementa el sandbox de Smarty como se describe en la documentación https://www.smarty.net/docs/en/advanced.features.tpl#advanced.features.security.
Normalmente esto no es una gran preocupación, pero en CSCart significa que un administrador de tienda puede acceder a los datos de otros administradores de tienda (y al sistema operativo subyacente). Imagino que ustedes sí consideran este límite de seguridad, razón por la cual parchearon CVE-2017-15673.
Al iniciar sesión como administrador de tienda, puedes editar cualquiera de las plantillas. En este caso, edité el archivo de plantilla my_account.tpl agregando {phpinfo()}

Luego, después de ver la página de inicio y hacer clic en el menú desplegable de mi cuenta, es posible desencadenar la ejecución de la plantilla:

También es posible desencadenar esta vulnerabilidad si el administrador de tienda solo tiene acceso a Archivos mediante asignación de grupo sin ningún otro permiso.

Y aquí está la vulnerabilidad afectando al sitio demo https://[redacted]/:
