Korrekturupdates wurden für alle unterstützten Versionen von PostgreSQL 16.4, 15.8, 14.13, 13.16 und 12.20 bereitgestellt, in denen 56 Fehler, die in den letzten drei Monaten entdeckt wurden, behoben wurden. Unter anderem wurde in den neuen Versionen eine als kritisch eingestufte Sicherheitsanfälligkeit (CVE-2024-7348, Risikostufe 8.8 von 10) beseitigt. Diese Sicherheitsanfälligkeit wurde durch eine Wettlaufbedingung im pg_dump-Tool verursacht, die es einem Angreifer, der die Berechtigung zum Erstellen und Löschen von persistenten Objekten in der Datenbank hat, ermöglicht, beliebigen SQL-Code mit den Rechten des Benutzers auszuführen, unter dem das pg_dump-Tool gestartet wird (in der Regel wird pg_dump mit Superuser-Rechten für die Sicherung der Datenbank ausgeführt).
Für einen erfolgreichen Angriff ist es erforderlich, den Zeitpunkt des Starts des Tools pg_dump zu verfolgen, was einfach durch Manipulationen mit einer offenen Transaktion realisiert werden kann. Der Angriff besteht darin, eine Sequenz durch eine Ansicht oder eine externe Tabelle zu ersetzen, die den ausgeführten SQL-Code definiert, zu dem Zeitpunkt, an dem pg_dump gestartet wird, wenn Informationen über das Vorhandensein der Sequenz bereits vorliegen, die Daten jedoch noch nicht ausgegeben wurden. Um die Schwachstelle zu blockieren, wurde die Einstellung „restrict_nonsystem_relation_kind“ hinzugefügt, die die Offenlegung nicht-systemischer Ansichten und den Zugriff auf externe Tabellen in pg_dump verbietet.
Quelle: opennet.ru
