Security Advisory

4D Unauthenticated File Disclosure

Eine Path Traversal Schwachstelle im 4D Caching System erlaubt das unauthentifizierte Lesen von beliebigen Dateien.

Advisory ID: MLSA-2025-001
CVE: requested
CVSS: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Kritikalität: high
Betroffene Versionen: getestet bei 4D 20 R7 (File Version 20.7.100.311), ältere Versionen sind vermutlich ebenfalls betroffen.
Behoben in: 4D 20 R8 final (build 100333), 4D 20 LTS(build 101802), 4D 20.7 LTS (build 101824)
Gefunden von: Hans-Martin Münch, Frederic Linn

Produktbeschreibung (englisch)

4D is a plattform to develop database based applications. To quote the web site:

Find out how to quickly and simply design and develop powerful business apps for the Web, the mobile as well as for macOS and Windows.

Details

Bei Aufbau einer Verbindung mit dem 4D-Binärprotokoll werden komprimierte Ressourcen (wie „Komponenten” oder „Plugins”) vom 4D-Server heruntergeladen und in einem lokalen Cache im Verzeichnis „AppData” unter Windows gespeichert. Während dieses Aktualisierungsvorgangs sendet der 4D-Server eine Übersicht über die vorhandenen Dateien im Cache-Verzeichnis, und der 4D-Client versucht, jede dieser Dateien durch Anforderung des jeweiligen Dateinamens herunterzuladen.

Der 4D-Server verwendet den vom Client übergebenen Dateinamen ohne weitere Validierung, um den Pfad für die Datei zu erstellen, die an den Client gesendet werden soll. Durch die Verwendung von ..\\-Sequenzen innerhalb des Dateinamens ist es möglich, Dateien außerhalb des Cache-Verzeichnisses herunterzuladen. Es wird darauf hingewiesen, dass dies nur auf Windows-Systemen getestet wurde, wir jedoch davon ausgehen, dass auch Mac-basierte 4D-Server davon betroffen sind.

Workarounds

Keine

Coordinated Disclosure Zeitverlauf

  • 25/03/2025 Verwenden des 4D Kontaktformulars, Frage nach einen technischen Kontakt
  • 26/03/2025 Antwort von 4D, Frage nach technischen Details, welche an die Entwicklung weitergeleitet werden
  • 27/03/2025 Senden technische Details an 4D
  • 24/05/2025 Anfrage nach aktuellem Status bei 4D
  • 25/05/2025 Antwort von 4D, inklusive der Versionen in denen die Schwachstelle behoben wurde
  • 25/05/2025 Veröffentlichung des Advisories