Korrekturupdates für alle unterstützten Versionen von PostgreSQL 16.4, 15.8, 14.13, 13.16, 12.20 wurden erstellt, in denen 56 Fehler behoben wurden, die in den letzten drei Monaten aufgetreten sind. Unter anderem wurde eine Sicherheitsanfälligkeit (CVE-2024-7348) behoben, die als kritisch eingestuft wird (Schweregrad 8,8 von 10). Diese Sicherheitsanfälligkeit wird durch einen Wettlaufzustand im pg_dump-Tool verursacht, der es einem Angreifer, der die Berechtigung hat, permanente Objekte in der Datenbank zu erstellen und zu löschen, ermöglicht, beliebigen SQL-Code mit den Rechten des Benutzers auszuführen, unter dem das pg_dump-Tool (in der Regel wird pg_dump mit Superuser-Rechten für die Sicherung der Datenbank ausgeführt).
Für einen erfolgreichen Angriff ist es notwendig, den Moment des Starts des pg_dump-Tools zu verfolgen, was durch Manipulationen an einer offenen Transaktion leicht umzusetzen ist. Der Angriff besteht darin, eine Sequenz durch eine Ansicht oder eine externe Tabelle zu ersetzen, die den ausgeführten SQL-Code definieren, zu dem Zeitpunkt, an dem pg_dump gestartet wird, wenn die Information über die Existenz der Sequenz bereits erhalten wurde, die Daten jedoch noch nicht ausgegeben wurden. Um die Sicherheitsanfälligkeit zu verhindern, wurde die Einstellung „restrict_nonsystem_relation_kind“ hinzugefügt, die die Offenlegung nicht-systemischer Sichten und den Zugriff auf externe Tabellen in pg_dump einschränkt.
Quelle: opennet.ru
