
Un progetto finale per il corso "Network Security" presso la NYCU (National Yang Ming Chiao Tung University, Taiwan). Sfruttamento di una CVE nel software "EasyAppointments".
Questo documento delinea l'analisi dettagliata di CVE-2022-0482, una vulnerabilità di sicurezza critica identificata nel software di pianificazione Easy!Appointments. Questa falla, relativa a un'autorizzazione non corretta secondo CWE-863, consente l'accesso non autorizzato a informazioni personali identificabili senza un'autenticazione adeguata, comportando rischi significativi per la riservatezza e l'integrità dei dati.
Mija Pilkaite
CVE-2022-0482 interessa le versioni di Easy!Appointments precedenti alla 1.4.3. È stata segnalata per la prima volta da Francesco Carlucci il 30 gennaio 2022. La vulnerabilità consente a utenti non autorizzati di accedere e potenzialmente sfruttare dati sensibili gestiti dal software.
Per analizzare questa vulnerabilità, è stato creato un ambiente isolato seguendo i passaggi seguenti:
Utilizzare Ubuntu 22.04 Server all'interno di una macchina virtuale o di un contenitore Docker. Scaricare la versione vulnerabile (1.4.2 o precedente) di Easy!Appointments dal ufficiale.
Modificare la versione PHP a 8.0 in docker/server/Dockerfile. Configurare config.php come da documentazione.
Comandi di installazione:
docker compose up -d
docker exec -it <container_name> bash
apt install git
apt install npm
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
Installazione delle dipendenze:
npm install
php composer.phar install
Lo sfruttamento prevede i seguenti passaggi:
Avviare l'applicazione e configurare un profilo amministratore accedendo a http://localhost/index.php/backend.
La vulnerabilità esiste a causa dell'assenza di controlli di sicurezza adeguati sull'endpoint /index.php/backend_api/ajax_get_calendar_events. Un attaccante può sfruttarla inviando richieste POST con "startDate", "endDate" e "csrfToken" per recuperare i dettagli degli appuntamenti in formato JSON.
Possono essere esposti dettagli completi di tutti i clienti, specifiche degli appuntamenti e informazioni sui fornitori di servizi, incluse le password hashate.
cve-2022-0482.py [-h] [--startDate STARTDATE] [--endDate ENDDATE] hostname
Aggiornamento della patch: è fondamentale aggiornare alla versione 1.4.3 o successiva, che risolve questa vulnerabilità. Buone pratiche di sicurezza: implementare controlli di autenticazione e autorizzazione forti, specialmente per gli endpoint sensibili.
Queste fonti forniscono ulteriori informazioni e dettagli tecnici sulla vulnerabilità CVE-2022-0482 e sono cruciali per una comprensione più approfondita e per ulteriori ricerche sul problema.