„`html
Zusammenfassung
Eine kritische Heap-Buffer-Overflow-Schwachstelle wurde in PostgreSQL identifiziert, die das plperl-Modul betrifft. Die Lücke ermöglicht es Funktionseigentümern, beliebigen Code mit den Berechtigungen des Betriebssystemnutzers auszuführen, der die Datenbankinstanz betreibt. Die Schwachstelle wird mit dem CVSS-Score 8.8 als High-Severity eingestuft.
Betroffene Systeme
Folgende PostgreSQL-Versionen sind anfällig:
- PostgreSQL vor Version 18.5
- PostgreSQL vor Version 17.11
- PostgreSQL vor Version 16.15
- PostgreSQL vor Version 15.19
- PostgreSQL vor Version 14.24
Das plperl-Modul (PL/Perl Procedural Language) muss installiert und aktiviert sein, damit die Schwachstelle ausgenutzt werden kann.
Technische Details
Die Schwachstelle existiert in der Verarbeitung von tied-Hash-Rückgabewerten innerhalb von PL/Perl-Funktionen. Ein Heap-Buffer-Overflow tritt auf, wenn eine speziell präparierte Funktionsdefinition verarbeitet wird. Angreifer benötigen Datenbankberechtigungen zur Funktionserstellung, um diese Lücke auszunutzen.
Der Angriffsvektor ist netzwerkbasiert, da Angreifer mit Zugriff auf die PostgreSQL-Instanz die Exploit-Payload durch eine manipulierte PL/Perl-Funktion einschleusen können. Die resultierende Code-Ausführung läuft unter dem Sicherheitskontext des Datenbankprozesses.
Empfohlene Massnahmen
Sofortmassnahmen:
- PostgreSQL auf die gepatchte Version aktualisieren
- Datenbankbenutzer-Berechtigungen beschränken, insbesondere das Recht zur Funktionserstellung
- Unnötige plperl-Installation entfernen, falls nicht benötigt
- Datenbankzugriff durch Firewall-Regeln und Netzwerk-Segmentierung einschränken
Langzeitlösung: Regelmäßige Security-Updates für PostgreSQL implementieren und ein Patch-Management-Programm etablieren.
Bewertung
Die Schwachstelle erfordert Datenbankberechtigungen zur Ausnutzung, was das Gesamtrisiko mindert. Jedoch ist die mögliche Auswirkung – Ausführung beliebigen Codes als Datenbanknutzer – kritisch. Organisationen mit PostgreSQL-Installationen sollten zeitnah ein Upgrade durchführen, besonders wenn plperl aktiv genutzt wird.
„`