L’Offensive Security Team di Swascan ha scoperto una vulnerabilità in Dolibarr 17.0.0, che è stata identificata come CVE-2023-30253.
La vulnerabilità è stata è stata risolta in Dolibarr 17.0.1.
Descrizione Prodotto
Dolibarr ERP/CRM è un software modulare Open source che si adatta alle piccole e medie imprese (PMI), fondazioni e liberi professionisti.
Sintesi Tecnica
L’Offensive Security Team di Swascan ha rilevato un’importante vulnerabilità su: 17.0.0
Vulnerability | Tested Vesions | CVSSv3.1 | CWE-ID |
Authenticated PHP Code Injection | 17.0.0 | 8.8 High [AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H] | CWE-77 |
Nella sezione che segue vengono illustrati i dettagli tecnici di questa vulnerabilità, tra cui le evidenze e un proof-of-concept.
Descrizione
In Dolibarr 17.0.0 con il plugin CMS Website (core) abilitato, un attaccante autenticato può ottenere l’esecuzione di comandi remoti tramite code injection, aggirando le restrizioni imposte dell’applicazione.
Proof of Concept
La seguente POC mostra come eseguire i comandi di sistema utilizzando un utente con le autorizzazioni visibili nell’evidenza.
Figura 1 – Autorizzazioni dell’utente di prova
Di default l’utente del test non può modificare il sito web con il codice php.
Figura 2 – prova dell’errore con codice php
Come mostra la Figura 1, il codice PHP è contrassegnato come disabilitato; tuttavia, è comunque possibile iniettare codice PHP come utente Test digitando “<?PHP code…?>” invece di “<?php code..?>”.
Il controllo sul tag “<?php” può essere bypassato usando qualsiasi carattere in maiuscolo (Php, pHp, pHP, PHP).
Figura 3 – controllo del bypass
Figura 4 – Codice php iniettato
Il codice php è stato iniettato e la pagina mostra il risultato “4”.
Inoltre, il tag PHP (maiuscolo) bypassa anche il controllo delle funzioni php proibite in core/lib/website2.lib.php.
Figura 5 – file /usr/share/dolibarr/htdocs/core/lib/website2.lib.php
Figure 6 – php code for RCE
<?PHP echo system(“whoami”).”<br><br>”.system(“pwd”).”<br><br>”.sys-tem(“ip a”);?>
Figura 7 – Esecuzione del comando remoto
In conclusione, con un utente non privilegiato e che ha accesso al plugin per i siti web, è possibile eseguire comandi sulla macchina remota.
Impatto
Un attaccante autenticato potrebbe ottenere l’accesso al sistema remoto ed eseguire comandi arbitrari.
Remediation
Scaricare l’ultima versione di Dolibarr da https://www.dolibarr.org/
Riferimenti
- https://github.com/Dolibarr/dolibarr
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-30253
- https://owasp.org/www-community/attacks/Command_Injection
- https://cheatsheetseries.owasp.org/cheatsheets/OS_Command_Injection_Defe nse_Cheat_Sheet.html
- https://github.com/Dolibarr/dolibarr/releases/tag/17.0.1
Disclosure Timeline
• 10-03-2023: Vulnerabilità scoperte
• 15-03-2023: Swascan contatta il Vendor tramite mail
• 22-03-2023: Swascan contatta il Vendor tramite mail (2°tentativo)
• 27-03-2023: Il Vendor conferma che le vulnerabilità sono state risolte
• 16-05-2023: Il Vendor rilascia la versione Dolibarr v17.0.1
• 06-06-2023: Pubblicazione Security Advisory