Headline
CVE-2023-26762: Security Advisory: Sme.UP ERP (CVE-2023-26758/ CVE-2023-26759/ CVE-2023-26760/ CVE-2023-26762)
Sme.UP ERP TOKYO V6R1M220406 was discovered to contain an arbitrary file upload vulnerability.
L’Offensive Security Team di Swascan ha identificato 5 vulnerabilità sul prodotto Sme.UP ERP.
Sme.UP ERP
Sme.UP è una realtà che nasce dalla messa a fattor comune delle competenze delle aziende che ne fanno parte per garantire assistenza e supporto alle imprese che intendono costruire sistemi informativi integrati, flessibili, evolutivi e adatti alla crescita.
Descrizione del prodotto
Sme.UP ERP è il software gestionale sviluppato interamente da Sme.UP per rispondere alle esigenze dei clienti. La logica applicativa con cui smeup erp è costruito consente di realizzare installazioni complete o dipartimentali, flessibili, personalizzate e veloci in assenza di programmazione e dunque anche implementazioni graduali e successive in organizzazioni complesse vengono facilitate.
Technical summary
L’Offensive Security Team di Swascan ha rilevato alcune vulnerabilità su: Sme.UP ERP versione TOKYO V6R1M220406
Vulnerability
CVSSv3.1
Attack Vector
OS Command Injection (autenticato) [2 occorrenze]
9.9 Critical
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Esposizione di informazioni sensibili
8.6 High
AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
Arbitrary File Download via Path Traversal (non autenticato)
8.2 High
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N
Arbitrary File Download via Path Traversal (autenticato)
7.1 High
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N
Arbitrary File Upload (autenticato)
6.3 Medium
AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:H/A:N
Nella sezione seguente vengono mostrati i dettagli tecnici delle vulnerabilità rilevate.
OS Command Injection (autenticato) CVE-2023-26759****Descrizione
Il componente Loocup è vulnerabile ad attacchi di tipo OS Command Injection da parte di utenti autenticati.
Un potenziale attaccante sarà in grado di eseguire comandi sul sistema operativo target con il livello di privilegio con cui è in esecuzione il programma effettuando delle chiamate ai servizi esposti /debug e /XMLService.
Per ottenere questo tipo di risultato, l’attaccante dovrà ottenere prima un codice di connessione valido o essere in possesso della password di accesso al sistema AS/400.
Proof of Concept
Si mostrano di seguito le evidenze della vulnerabilità e di come sia stato possibile eseguire un comando locale alla macchina, come ad esempio una reverse shell precedentemente caricata sfruttando un’altra vulnerabilità presente nella stessa applicazione:
Evidenza 1 OS Command Injection tramite servizio /XMLService
Allo stesso modo è possibile eseguire funzioni del backend e quindi comandi di sistema con la servlet /debug nella parte di esecuzione funzione.
Un potenziale attaccante potrebbe sfruttare questa vulnerabilità per ottenere una shell sulla macchina target o uploadare ed eseguire dei malware.
Riferimenti
https://owasp.org/www-community/attacks/Command_Injection
https://cwe.mitre.org/data/definitions/78.html
https://owasp.org/Top10/A03_2021-Injection/
https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/OS_Command_Injection_Defense_Cheat_Sheet.md
Esposizione di Informazioni sensibili****Descrizione
Sfruttando questa vulnerabilità un potenziale attaccante potrebbe avere accesso, in maniera non autenticata, ad informazioni quali credenziali di accesso al sistema AS/400 e credenziali presenti eventualmente nelle variabili di sistema.
Proof of Concept
Si riporta di seguito come sia stato possibile accedere ad informazioni sensibili tramite il link esposto:
Evidenza 2 Accesso a https://X.X.X.X/debug
Tale pagina dà accesso a informazioni e funzioni riservate, tra cui le credenziali in chiaro del sistema AS/400.
Tali informazioni hanno permesso l’accesso al sistema AS/400 e l’ottenimento di una sessione autenticata che è stata utilizzata per abusare di altre funzionalità del servizio esposto quali ad esempio la lettura di file locali del server o la scrittura di file potenzialmente dannosi sul server.
**Riferimenti **
https://cwe.mitre.org/data/definitions/200.html
https://owasp.org/Top10/A01_2021-Broken_Access_Control/
Arbitrary File Download via Path Traversal (non autenticato) CVE-2023-26758****Descrizione
La vulnerabilità Path Traversal consente l’accesso a file presenti nel sistema operativo che risiedono al di fuori della web root dell’applicazione. Manipolando le variabili che richiedono i file, attraverso l’uso dei caratteri “…/” o “…\” è possibile accedere arbitrariamente ai file e/o cartelle contenuti nel sistema operativo come il codice sorgente dell’applicazione o file sensibili che risiedono nella macchina.
Assets
- https://X.X.X.X/ResourceService
Proof of Concept
Le richieste HTTP POST verso l’URL https://X.X.X.X/ResourceService consentono tramite il parametro customer, permettendo di accedere a qualsiasi file del sistema operativo a cui si ha permesso di lettura.
Di seguito vengono mostrate le evidenze di come è possibile leggere il contenuto di file sensibili impostando dei percorsi relativi:
Evidenza 3 – Richiesta del file win.ini di windows
Evidenza 4 – File win.ini
Riferimenti
https://cwe.mitre.org/data/definitions/23.html
https://owasp.org/Top10/A01_2021-Broken_Access_Control/
https://owasp.org/www-community/attacks/Path_Traversal
Arbitrary File Download via Path Traversal (autenticato) CVE-2023-26760****Descrizione
La vulnerabilità Path Traversal consente l’accesso a file presenti nel sistema operativo che risiedono al di fuori della web root dell’applicazione. Manipolando le variabili che richiedono i file, attraverso l’uso dei caratteri “…/” o “…\” è possibile accedere arbitrariamente ai file e/o cartelle contenuti nel sistema operativo come il codice sorgente dell’applicazione o file sensibili che risiedono nella macchina.
Assets
- https://X.X.X.X/debug
Proof of Concept
Le richieste HTTP POST verso l’URL https://****X.X.X.X/debug consente tramite il parametro filepath di accedere a qualsiasi file del sistema operativo a cui si ha permesso di lettura.
Di seguito vengono mostrate le evidenze di come è possibile leggere il contenuto di file sensibili impostando dei percorsi relativi:
Evidenza 5 – Richiesta del file hosts di windows
Evidenza 6 – File hosts locale
Riferimenti
https://cwe.mitre.org/data/definitions/23.html
https://owasp.org/Top10/A01_2021-Broken_Access_Control/
https://owasp.org/www-community/attacks/Path_Traversal
Arbitrary File Upload (autenticato) CVE-2023-26762****Descrizione
L’applicazione risulta vulnerabile ad Arbitrary File Upload.
Ciò può consentire ad un attaccante che abbia a disposizione utente e password del servizio, di effettuare l’upload di file malevoli per l’esecuzione di codice arbitrario o di una shell attraverso la quale potrebbe eseguire comandi arbitrari sul server remoto. A seguito di ciò, l’attaccante potrebbe altresì effettuare ricerca di credenziali, movimenti laterali all’interno dell’infrastruttura, oppure semplicemente creare disservizi (DoS) caricando file di grandi dimensioni.
Per sfruttare questa vulnerabilità, l’attaccante dovrà superare eventuali controlli come Anti-Virus o End-Point Protection, ed occorrerà l’intervento di un utente per l’esecuzione del file o eventualmente concatenando altre vulnerabilità per innescarne l’esecuzione.
Assets
- https://X.X.X.X/UploadService
Proof of Concept
La servlet esposta /UploadService permette l’upload di files con qualsiasi estensione.
Evidenza 7 Upload di file con qualsiasi estensione
Evidenza 8 Upload effettuato
E’ stato possibile accedere al file caricato e sfruttare tale vulnerabilità per eseguire comandi tramite webshell concatenando altre vulnerabilità rilevate in questo Advisory.
Remediation
Si consiglia di effettuare l’aggiornamento all’ultima versione contattando il vendor.
Riferimenti
https://www.oracle.com/java/technologies/javase/seccodeguide.html
https://cwe.mitre.org/data/definitions/434.html
https://cheatsheetseries.owasp.org/cheatsheets/DotNet_Security_Cheat_Sheet.html
https://owasp.org/Top10/it/A04_2021-Insecure_Design/
Disclosure Timeline
- 27-05-2022: Vulnerabilità identificata
- 27-05-2022: Vendor contattato via email (1° tentativo)
- 07-05-2022: Vendor contattato via email (2° tentativo)
- 01-07-2022: Vendor contattato telefonicamente, invio del Security Advisory
- 21-10-2022: Il Vendor dichiara di aver fixato la vulnerabilità
- 07-02-2023: Swascan pubblica la vulnerabilità