
Exploit proof-of-concept per CVE-2021-26121: Server-Side Template Injection in CS-Cart <=4.12.x che consente all'amministratore del negozio di ottenere l'esecuzione remota di codice tramite la modifica del template Smarty.
Trovato da: Steven Seeley di 360 Vulcan Team
Versione: <= 4.12.x (ultima)
Data: 2021-01-08 12:49
CVE: CVE-2021-26121
Un amministratore di negozio (da non confondere con un amministratore root) può ottenere l'esecuzione di codice remoto tramite l'iniezione di template Smarty lato server quando modifica i template. Ciò è dovuto al fatto che CSCart non implementa la sandbox Smarty come descritto nella documentazione https://www.smarty.net/docs/en/advanced.features.tpl#advanced.features.security.
Normalmente non è una grande preoccupazione, ma su CSCart significa che un amministratore di negozio può accedere ai dati di altri amministratori di negozio (e al sistema operativo sottostante). Immagino che consideriate questo confine di sicurezza, motivo per cui avete corretto CVE-2017-15673.
Quando si è connessi come amministratore di negozio è possibile modificare qualsiasi template. In questo caso ho modificato il file template my_account.tpl aggiungendo {phpinfo()}

Poi, dopo aver visualizzato la pagina index e facendo clic sul menu a discesa del mio account, è possibile attivare l'esecuzione del template:

È anche possibile attivare questa vulnerabilità se l'amministratore del negozio ha solo l'accesso Files tramite assegnazione di gruppo senza altri permessi.

Ed ecco la vulnerabilità che impatta il sito demo https://[redacted]/:
