
Ein Abschlussprojekt für den Kurs „Network Security" an der NYCU (National Yang Ming Chiao Tung University, Taiwan). Ausnutzung einer CVE-Schwachstelle in der Software „EasyAppointments".
Dieses Dokument beschreibt die detaillierte Analyse von CVE-2022-0482, einer kritischen Sicherheitsschwachstelle in der Terminplanungssoftware Easy!Appointments. Dieser Fehler, der unter CWE-863 als fehlerhafte Autorisierung eingestuft wird, ermöglicht unbefugten Zugriff auf personenbezogene Daten ohne ordnungsgemäße Authentifizierung und birgt erhebliche Risiken für die Vertraulichkeit und Integrität von Daten.
Mija Pilkaite
CVE-2022-0482 betrifft Versionen von Easy!Appointments vor 1.4.3. Sie wurde erstmals von Francesco Carlucci am 30. Januar 2022 gemeldet. Die Schwachstelle ermöglicht es unbefugten Benutzern, auf sensible Daten zuzugreifen und diese möglicherweise auszunutzen, die von der Software verwaltet werden.
Zur Analyse dieser Schwachstelle wurde eine isolierte Umgebung mit den folgenden Schritten erstellt:
Verwenden Sie Ubuntu 22.04 Server in einer virtuellen Maschine oder einem Docker-Container. Laden Sie die verwundbare Version (1.4.2 oder früher) von Easy!Appointments aus dem offiziellen GitHub-Repository herunter.
Ändern Sie die PHP-Version auf 8.0 in docker/server/Dockerfile. Konfigurieren Sie config.php gemäß der Dokumentation.
Installationsbefehle:
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');"
Installation der Abhängigkeiten:
npm install
php composer.phar install
Die Ausnutzung umfasst die folgenden Schritte:
Starten Sie die Anwendung und richten Sie ein Administratorenprofil ein, indem Sie sich unter http://localhost/index.php/backend anmelden.
Die Schwachstelle besteht aufgrund fehlender angemessener Sicherheitsprüfungen am Endpunkt /index.php/backend_api/ajax_get_calendar_events. Ein Angreifer kann dies ausnutzen, indem er POST-Anfragen mit "startDate", "endDate" und "csrfToken" sendet, um Termindetails im JSON-Format abzurufen.
Umfassende Details aller Kunden, Terminangaben und Dienstleisterinformationen einschließlich gehashter Passwörter können offengelegt werden.
cve-2022-0482.py [-h] [--startDate STARTDATE] [--endDate ENDDATE] hostname
Patch-Upgrade: Es ist entscheidend, auf Version 1.4.3 oder höher zu aktualisieren, die diese Schwachstelle behebt. Sicherheitsempfehlungen: Implementieren Sie starke Authentifizierungs- und Autorisierungsprüfungen, insbesondere für sensible Endpunkte.
Diese Quellen bieten zusätzliche Informationen und technische Details zur Schwachstelle CVE-2022-0482 und sind für ein tieferes Verständnis sowie weitere Forschung zu diesem Problem von entscheidender Bedeutung.