Eine hochriskante Schwachstelle in der Datenbank PostgreSQL ermöglicht Angreifern, beliebige SQL-Befehle einzuschleusen.

Eine Sicherheitslücke in der Datenbank-Software PostgreSQL ermöglicht Angreifern, beliebige SQL-Befehle einzuschleusen und auszuführen. Die Entwickler stufen die Lücke als hochriskant ein. Aktualisierte PostgreSQL-Pakete korrigieren die zugrundeliegenden Fehler.

In der Schwachstellenbeschreibung erläutern die PostgreSQL-Programmierer, dass ein Schritt eines Aktualisierungsbefehls mit zu geringen Sicherheitseinschränkungen ausgeführt wurde. Ein Besitzer einer sogenannten “Materialized View” kann Superusern oder Nutzerinnen und Nutzern mit höheren Rechten dadurch SQL-Code unterschieben, der dann bei einem “Refresh”-Befehl mit deren Rechten ausgeführt wird (CVE-2024-0985, CVSS 8.0, Risiko “hoch“).

Konkret sei ein zu spätes Fallenlassen von Zugriffsrechten ursächlich für die Schwachstelle. Die Funktion “Refresh Materialized View Concurrently” von PostgreSQL erlaubt einem Objektersteller dadurch, beliebige SQL-Funktionen mit den Rechten der funktionsausführenden Person aufzurufen. Angreifer müssten ihr Opfer dazu bewegen, die Refresh-Funktion auf einer von ihnen erstellten Materialized View auszuführen. Die Fehlerkorrektur sehe nun vor, dass jedweder benutzerdefinierte Code mit den Rechten des Besitzers einer Materialized View ausgeführt wird.

Die Lücke findet sich in allen PostgreSQL-Entwicklungszweigen, von 12 bis 15. Die fehlerkorrigierten Pakete tragen die Versionsnummern 15.6, 14.11, 13.14 und 12.18 oder jeweils höher. Administratorinnen und Administratoren von PostgreSQL-Datenbanken sollten die aktualisierten Fassungen zügig installieren, um die Angriffsfläche für bösartige Akteure zu reduzieren.

Im Dezember haben die Entwickler die PostgreSQL-Datenbank um inkrementelle Backups erweitert. Die Datenbank wurde dabei für komfortable inkrementelle Backups vorbereitet, die der Parameter --incremental des Kommandozeilenbefehls pg_basebackup lernt. Version 17 der Datenbank soll die Funktion dann mitbringen.