
Drupal CVE-2024-45440
Drupal CVE-2024-45440 core/authorize.php in Drupal 11.x-dev erlaubt die Offenlegung des vollständigen Pfads (Full Path Disclosure), selbst wenn die Fehlerprotokollierung auf None gesetzt ist, falls der Wert von hash_salt per file_get_contents aus einer nicht vorhandenen Datei stammt.
python CVE-2024-45440.py

settings.php wird per Mount in den Container eingebunden und ersetzt das dort vorhandene settings.php.
Nach dem Ersetzen von settings.php ist keine Installation möglich, aber ein direkter Aufruf von http://127.0.0.1:8080/core/authorize.php legt den vollständigen Pfad der Konfigurationsdatei offen.
Der normale Installationsablauf ist wie folgt:
Zuerst muss die Zeile 15 in docker-ccompose.yml (- ./settings.php:/opt/drupal/web/sites/default/settings.php) auskommentiert werden, damit die Installation normal durchgeführt werden kann.
Docker-Container starten
docker-compose up -d
Sprache auswählen

Installationsmethode auswählen

Datenbank einrichten

Übrige Optionen auf Standard belassen
Website einrichten

Übrige Optionen auf Standard belassen und Installation durchführen
Als Nächstes simulieren wir, dass ein Entwickler die Variable hash_salt in Zeile 268 der Datei /sites/default/settings.php ändert. Dazu stoppen wir den Docker-Container.
docker-compose down
Dann die Auskommentierung der Zeile 15 in docker-ccompose.yml (- ./settings.php:/opt/drupal/web/sites/default/settings.php) aufheben und den Container erneut starten.
docker-compose up -d
Die Einrichtung der Übungsumgebung ist abgeschlossen.
http://127.0.0.1:8080/core/authorize.php aufrufen

Der vollständige Pfad der Konfigurationsdatei wird offengelegt.
Oder das Skript verwenden
python CVE-2024-45440.py
