Kritische Remote Code Execution Sicherheitslücke in pgAdmin
Am 31. März 2024 wurde die kritische Sicherheitslücke CVE-2024-3116 für Remote Code Execution (RCE) in pgAdmin bis Version 8.4 entdeckt. Diese Sicherheitslücke stellt eine erhebliche Bedrohung dar, insbesondere für Systeme, die unter Windows laufen, aufgrund der weniger strengen Ausführungsberechtigungen für Dateien.
pgAdmin ist ein weit verbreitetes Verwaltungstool für PostgreSQL-Datenbanken. Die darin gefundene Lücke CVE-2024-3116 beruht auf unzureichender Validierungen von Dateipfaden, die es Angreifern ermöglichten, unbefugten Code auszuführen. Diese Schwachstelle ist besonders auf Windows-Plattformen ausnutzbar, wo die Ausführung einer speziell erstellten bösartigen ausführbaren Datei ohne signifikante Hindernisse ausgelöst werden kann.
Um die Sicherheitslücke auszunutzen, kompilieren Angreifer bösartigen C-Code in eine Binärdatei, der einen ausgehenden HTTP-Request an eine kontrollierte URL initiieren kann. Diese Binärdatei kann über einen API-Endpunkt in pgAdmin hochgeladen werden, getarnt als legitimes PostgreSQL-Utility, was zu ihrer Ausführung führt. Um den Exploit zu demonstrieren, beschrieben die Forscher den Prozess von der Kompilierung der bösartigen Binärdatei bis zu ihrer Ausführung in einem Gitlab Gist, indem sie pgAdmin dazu brachten, einen manipulierten Utility-Pfad zu validieren.
Am 5.4.24 wurde ein Patch auf die Version 8.5 veröffentlicht, der die Sicherheitslücke schliesst.