[Generic/Oracle] Aufruf beliebiger Funktionen aus Systembibliotheken
(2002-02-14 18:29:11+00) Druckversion
Quelle: http://cert.uni-stuttgart.de/archive/bugtraq/2002/02/msg00070.html
Durch einen Fehler in der EXTPROC Implementierung kann ein Angreifer beliebige Funktionen auf dem System installierter Bibliotheken mit den Rechten des Datenbanknutzers ausführen.
Betroffene Systeme
- Oracle 8 auf allen Systemen
- Oracle 8i auf allen Systemen
- Oracle 9i auf allen Systemen
Einfallstor
Datenbankabfragen (TCP Port 1521)
Auswirkung
Ausführung beliebigen Programmcodes mit den Rechten des Oracle Datenbank
Dienstes.
Typ der Verwundbarkeit
design-flaw
Gefahrenpotential
hoch bis sehr hoch
(Hinweise zur
Einstufung
des Gefahrenpotentials.)
Beschreibung
Oracle ist eine der am weitest verbreiteten Datenbanken. Bei der
Standardinstallation ist die EXTPROC Funktionalität enthalten.
Diese ermöglicht Bibliotheksfunktionen über das Pl/SQL Paket
aufzurufen. Dabei wird die Autentifizierung vernachlässigt, so daß solche
Aufrufe von einem beliebigen Angreifer getätigt werden können.
Dieser kann sie z.B. für den Aufruf von system()
verwenden und somit das beherbergende Rechnersystem oder zumindest
Teile davon kompromitieren.
Workaround
Sollte die Extproc funktionalität nicht benötigt werden, so
sollte diese in den Dateien $ORACLE_HOME/NETWORK/ADMIN/TNSNAMES.ORA
und $ORACLE_HOME/NETWORK/ADMINS/LISTNER.ORA
abgeschaltet
werden. Dies geschieht durch Entfernen der Einträge:
icache_extproc
oder PLSExtproc
oder
extproc
. Auch sollte das extproc
Binary
gelöscht werden.
Falls die "EXTPROC
" funktionalität notwendig ist, so
empfiehlt Oracle folgende 5 Schritte:
- Zwei Dienste sind aufzusetzen. Einer für die Oracle
Datenbank und einer für
PL/SQL EXTPROC
. Letzterer sollte unter unter einer UID ohne Systemprivilegien (z.B. nobody) laufen. - Die Datei
$ORACLE_HOME/NETWORK/ADMIN/TNSNAMES.ORA
sollte dem neuen Dienst entsprechned angepasst werden. - Desweiteren ist sicherzustellen, dass Verbindungen zum
PL/SQL EXTPROC
Dienst nur von den dafür vorgesehen Rechnern stammen können. Diese Einstellung geschieht über den Paketfilter oder über die Konfigurationsdatei$ORACLE_HOME/NETWORK/ADMIN/SQLNET.ORA
(PROTOCOL.ORA
in Oracle8i und früheren Versionen). Dort sollten Folgende Einstellungen gesetzt werden:
tcp.validnode_checking=YES tcp.invited_nodes={liste der berechtigten IPs} tcp.excluded_nodes={liste der abzulehnenden IPs}
Diese Einschränkung ist nur für denPL/SQL EXTPROC
Dienst einzusetzen und dementsprechend separat zu konfigurieren (in separaten Dateien). - Die Rechte dieser Dateien sollten auf 640 oder 644 gesetzt werden.
- Alle Benutzer, welche administrative Rechte bei einer Datenbank
haben oder Aufrufe wie "
CREATE ANY LIBRARY
" tätigen dürfen sollten auf die Sicherheit ihrer Passwörter überprüft werden.
Weitere Information zu diesem Thema
Hinweis
Die in diesem Text enthaltene Information wurde für die Mitglieder der
Universität Stuttgart recherchiert und zusammengestellt. Die Universität
Stuttgart übernimmt keinerlei Haftung für die Inhalte. Dieser Artikel
darf ausschließlich in unveränderter Form und nur zusammen mit diesem
Hinweis sowie dem folgenden Copyrightverweis veröffentlicht werden. Eine
Veröffentlichung unter diesen Bedingungen an anderer Stelle ist
ausdrücklich gestattet.
Copyright © 2018 RUS-CERT, Universität Stuttgart, https://cert.uni-stuttgart.de/
Vorherige Meldung | Weitere Meldungen... | Nächste Meldung |
Bitte lesen Sie auch die Grundsätze, nach denen das RUS-CERT Tickermeldungen veröffentlicht. Der regelmäßige Bezug von Tickermeldungen über E-Mail und RSS-Feed ist ebenfalls möglich.