
CVE-2020-8809 und CVE-2020-8810
Gurux GXDLMS Director ist ein Open-Source-Windows-Programm für die Interaktion mit Energiemessgeräten über das DLMS/COSEM-Protokoll.
Die Software verfügt über eine Remote-Update-Funktion für Add-in-DLLs sowie für Dateien, die OBIS-Codes enthalten (gerätespezifische Definitionen, die für die Interaktion mit den intelligenten Messgeräten erforderlich sind).
| CVEID | Name der betroffenen Produkte und Versionen | Problemtyp |
|---|---|---|
| CVE-2020-8809 | Gurux GXDLMS Director (alle Versionen vor 8.5.1905.1301) | CWE-494: Download of Code Without Integrity Check |
| CVE-2020-8810 | Gurux GXDLMS Director (alle Versionen) | CWE-23: Relative Path Traversal |
Zusammenfassung
Alle Versionen von Gurux GXDLMS Director vor 8.5.1905.1301 enthalten einen Aktualisierungsmechanismus für Add-Ins und OBIS-Codes, der über eine unverschlüsselte HTTP-Verbindung arbeitet. Darüber hinaus enthalten alle Versionen einen Path-Traversal-Fehler, der beim Herunterladen von OBIS-Codes auftritt. Diese Schwachstellen können vom Angreifer genutzt werden, um Codeausführung zu erreichen.
Beschreibung
Ein Mann-in-der-Mitte-Angreifer (z. B. ein bösartiger Wi-Fi-Netzwerkbetreiber) kann den Benutzer dazu veranlassen,
Updates herunterzuladen, indem er den Inhalt von gurux.fi/obis/files.xml und
gurux.fi/updates/updates.xml modifiziert. Anschließend kann der Angreifer den Inhalt der heruntergeladenen Dateien verändern.
Im Falle von Add-Ins (sofern der Benutzer solche verwendet) führt dies zu Codeausführung. Im Fall von
OBIS-Codes (die der Benutzer immer verwendet, da sie für die Kommunikation mit den Energiemessgeräten benötigt werden),
kann der Angreifer durch Ausnutzen einer Path-Traversal-Schwachstelle Codeausführung erreichen.
Beim Herunterladen von OBIS-Codes prüft das Programm nicht, ob es sich bei den heruntergeladenen Dateien tatsächlich um OBIS-Codes handelt, und prüft auch nicht auf Path Traversal. Dadurch kann der Angreifer ausführbare Dateien senden und in einem Autostart-Verzeichnis (Ausführung nach Neustart) ablegen oder DLLs in der vorhandenen GXDLMS-Director-Installation platzieren (Ausführung beim nächsten Start von GXDLMS Director). Dies kann zur Codeausführung genutzt werden, selbst wenn der Benutzer keine Add-Ins installiert hat.
Reproduktion
obis.obis/files.xml mit folgendem Inhalt:<files>
<file modified=”28-09-2099″ name=”Iskraemeco”>../../../../../../../../../../Users/Public/Documents/test.txt</file>
</files>
Users/Public/Documents.Users/Public/Documents/test.txt.C:\Windows\system32\drivers\etc\hosts und fügen Sie die
folgende Zeile hinzu: 127.0.0.1 gurux.fi (falls Ihr HTTP-Server nicht mit Ihrem Windows-Rechner identisch ist,
ersetzen Sie 127.0.0.1 durch die IP-Adresse des Servers).C:\Users\Public\Documents\ nun die Datei test.txt enthält.Abhilfe
Aktualisieren Sie Gurux GXDLMS Director auf die neueste Version.