
Proof-of-Concept für CVE-2025-57392, das unsichere Standard-Dateiberechtigungen in BenimPOS Desktop V3.0 demonstriert und eine Privilegienausweitung durch den Austausch einer schädlichen ausführbaren Datei unter Windows ermöglicht.
CVE-2025-57392
🔒 Schwachstellenbericht Produkt: BenimPOS Desktop V3.0 Schwachstellentyp: Unsichere Dateiberechtigungen Betroffene Komponenten: BenimPOS.exe, unins000.exe, System.Data.SQLite.dll Schwachstellenklasse: CWE-276: Falsche Standardberechtigungen Proof of Concept von: Fatih Bülbül Testumgebung: Windows 11 x64 – Lokaler Administrator + Standardbenutzer
🛠️ 1. Erkennung der Schwachstelle Zuerst habe ich die Berechtigungen des Verzeichnisses, in dem die BenimPOS-Anwendung installiert ist, mithilfe des von Sysinternals entwickelten Tools AccessChk.exe überprüft: Verwendeter Befehl: accesschk.exe -dqvw "C:\Program Files (x86)\BenimPOS"
Erzieltes Ergebnis: RW Everyone FILE_ALL_ACCESS RW BUILTIN\Users FILE_ALL_ACCESS
📌 Die Berechtigungen FILE_ALL_ACCESS wurden den Gruppen „Everyone“ und „BUILTIN\Users“ erteilt. Das bedeutet, dass jeder Standardbenutzer die .exe- oder .dll-Dateien der Anwendung ändern kann. 📸 Ein Screenshot dieser Ausgabe ist unten zu sehen:
try: subprocess.Popen(r"C:\Windows\System32\calc.exe") except Exception as e: with open("error_log.txt", "w") as f: f.write(traceback.format_exc()) sys.exit(1)
• Ich habe dieses Skript in eine .exe-Datei konvertiert (z. B. mit PyInstaller). • Anschließend habe ich die ursprüngliche BenimPOS.exe-Datei durch diese neue ausführbare Datei ersetzt. 🔁 Programmstart: • Anstatt BenimPOS zu öffnen, wurde der Rechner (calc.exe) ausgeführt. 📸 Screenshot (calc.exe wurde gestartet):
🧨 3. Auswirkungen und Risiko Die Auswirkungen dieser Schwachstelle sind kritisch: Kategorie Beschreibung Privilegieneskalation Ein Standardbenutzer kann Prozesse mit administrativen Rechten imitieren. Einschleusen von Schadcode Eine EXE- oder DLL-Datei kann geändert werden, um eine Backdoor einzuschleusen. Anwendungsmanipulation Die POS-Anwendung kann mit schädlichen Funktionen verändert werden, um Benutzer zu täuschen.
🩹 4. Empfohlene Lösung