CVE-2025-1094 ist eine schwerwiegende SQL-Injection-Schwachstelle, die von Rapid7 entdeckt wurde und alle unterstützten Versionen von PostgreSQL vor den Versionen 17.3, 16.7, 15.11, 14.16 und 13.19 betrifft. Die Schwachstelle wurde bei der Analyse eines Angriffs identifiziert, der CVE-2024-12356 ausnutzte, eine nicht authentifizierte Remote Code Execution (RCE)-Lücke in BeyondTrust-Produkten. In allen getesteten Fällen erforderte die erfolgreiche Ausnutzung von CVE-2024-12356 zunächst die Ausnutzung von CVE-2025-1094, um eine Codeausführung zu erreichen.
Mit einem CVSS-Score von 8.1 (Hoch) resultiert diese Schwachstelle aus Fehlern im psql-Tool von PostgreSQL, die es einem Angreifer ermöglichen, SQL-Befehle über speziell manipulierte Eingaben einzuschleusen. Dieses Problem blieb ein Zero-Day, bis es von Rapid7 offengelegt wurde.
| Datum | 20.02.2025 16:22:45 |
| Informationen |
|
Technische Zusammenfassung
CVE-2025-1094 wird durch eine falsche Annahme bezüglich der Sicherheit von Eingaben verursacht, die durch die String-Escaping-Routinen von PostgreSQL geleitet werden. Diese Routinen sind darauf ausgelegt, nicht vertrauenswürdige Eingaben innerhalb von SQL-Abfragen zu verarbeiten, aber ein Angreifer kann diese Schutzmaßnahmen in bestimmten Szenarien umgehen, in denen ungültige UTF-8-Zeichen vom Tool psql fehlerhaft verarbeitet werden.
Die Schwachstelle tritt auf, wenn das psql-Tool eine SQL-Anweisung ausführt, die escapte, nicht vertrauenswürdige Eingaben enthält, welche ungültige Byte-Sequenzen umfassen, was zu einer erfolgreichen SQL-Injection führt. Wenn es einem Angreifer gelingt, SQL-Befehle einzuschleusen, kann er den Angriff eskalieren, indem er Meta-Befehle über psql ausführt, die die Ausführung von Shell-Befehlen auf dem zugrunde liegenden Betriebssystem ermöglichen.
Alternativ können Angreifer beliebige und vom Angreifer kontrollierte SQL-Befehle direkt in der PostgreSQL-Datenbank ausführen, mit dem Potenzial, das System weiter zu kompromittieren, einschließlich Datenexfiltration, Datenmanipulation oder der vollständigen Systemübernahme.
Ausnutzungsszenarien:
SQL-Injection
Angreifer können beliebigen SQL-Code über psql einschleusen und dabei die Escaping-Schutzmaßnahmen umgehen. Dies kann den unbefugten Zugriff auf sensible Daten oder die Manipulation von Datenbankoperationen ermöglichen.Beliebige Codeausführung durch Meta-Befehle
Die Ausnutzung der SQL-Injection ermöglicht es Angreifern, die Meta-Befehle vonpsqlzu verwenden, die Shell-Befehle des Betriebssystems ausführen. Dies kann zur vollständigen Kontrolle des betroffenen Systems führen, einschließlich der Möglichkeit, beliebige Befehle mit Betriebssystem-Privilegien auszuführen.
Empfehlungen
- PostgreSQL aktualisieren
Benutzer sollten umgehend auf PostgreSQL 17.3, 16.7, 15.11, 14.16 oder 13.19 aktualisieren, welche die SQL-Injection-Schwachstelle beheben und den Schutz des Systems vor Ausnutzung gewährleisten.
- SQL-Abfragen überprüfen und überwachen
- Implementieren Sie zusätzliche Sicherheitsmaßnahmen wie Eingabevalidierung und parametrisierte Abfragen, um weitere SQL-Injection-Schwachstellen zu verhindern.
- Überprüfen Sie die Verwendung von Meta-Befehlen innerhalb des interaktiven PostgreSQL-Tools (
psql), um die Möglichkeit einzuschränken, dass nicht vertrauenswürdige Benutzer beliebige Shell-Befehle ausführen können.
- Zugriff auf psql einschränken
Beschränken Sie den Zugriff auf psql nur auf vertrauenswürdige Administratoren und deaktivieren Sie nach Möglichkeit die interaktive Ausführung von Shell-Befehlen für normale Benutzer.
[Callforaction-THREAT-Footer]
Leave a Reply