
Dieses Repository enthält einen kombinierten Proof-of-Concept-Exploit (PoC) für CVE-2020-7378, eine kritische Schwachstelle in OpenCRX (Versionen bis einschließlich 5.0-20200717). Der Exploit kombiniert zwei Kernprobleme der Anwendung:
java.util.Random beruht und es Angreifern ermöglicht, gültige Token auf Basis eines Zeitstempels in Millisekunden als Seed zu erzeugen.RestServlet-Endpunkt, die das Auslesen entfernter Dateien vom Dateisystem des Servers erlaubt.Die Kombination dieser beiden Schwachstellen ermöglicht es einem nicht authentifizierten Angreifer, administrativen Zugriff zu erlangen und vertrauliche serverseitige Dateien zu exfiltrieren.
CVE-ID: CVE-2020-7378
Betroffenes Produkt: OpenCRX ≤ 5.0-20200717
Angriffsfläche: Öffentlich zugängliche Verwaltungs- und REST-Schnittstellen
Grundursachen:
Auswirkungen:
CVSS: 9.1 (Kritisch)
opencrx-exploit.py: Vollständiges Exploit-Skript für die Angriffskette, das sowohl die Token-Vorhersage als auch das XXE-Dateiauslesen durchführt.OpenCRXToken.java: Java-Klasse, die die Token-Erzeugungslogik unter Verwendung eines Brute-Force-Seed-Bereichs auf Basis des Request-Timings emuliertToken-Generator kompilieren:
javac OpenCRXToken.java
Exploit ausführen:
python3 opencrx-exploit.py <target_user_id>
Dies wird Folgendes bewirken: