Im Juli 2009 veröffentlichte Oracle den dritten Critical Patch Update (CPU) in diesem Jahr, der dreißig Fehler korrigierte, zwölf davon betreffen die Datenbank. Bei den behobenen Fehlern sind vor allem die Probleme mit dem TNS Listener hervorzuheben, von denen bereits einige im CPU vom April 2009 korrigiert worden sind. Diese Fehler erlauben das (unprivilegierte) Stoppen des TNS-Listener-Prozesses beziehungsweise das Ausführen von Betriebssystem-Kommandos auf dem Datenbank-Server.
Der Security-Experte Dennis Yurichev hat auf seiner Webseite entsprechenden Proof-of-Concept-Code veröffentlicht. Weitere Fehler im Juli-CPU betreffen Virtual Private Database, SQL-Injection, Advanced Replication und den Oracle Enterprise Manager.
Patch Set Update
Oracle hat erstmalig zusammen mit dem Juli-CPU einen sogenannten Patch Set Update (PSU) veröffentlicht. Darin sind neben den Security Patches auch Patches für andere Fehler und Probleme in der Oracle Software enthalten. PSUs sind im Gegensatz zu den One-off-patches wesentlich besser von Oracle getestet. Dies hat den großen Vorteil, dass mit einem PSU verschiedene Probleme (Security und Bugfixes) gleichzeitig korrigiert werden. Oracle verspricht laut PSU-Dokumentation, dass die Patches keinerlei Funktionen anpassen, die eine Re-Zertifizierung erforderlich machen (wie Änderungen am Optimizer). Zudem sind alle PSUs Rolling-upgrade-fähig. Drei kleine Haken hat ein PSU allerdings:
- Der PSU ist nur für die Hauptplattformen (Linux, Solaris, HPUX), aber (noch) nicht für Windows erhältlich.
- Oracle rät davon ab, zwischen PSU und CPU hin und her zu wechseln. Das bedeutet, dass man sich zwischen CPU und PSU entscheiden muss.
- Der PSU versucht bei der Installation „nach Hause zu telefonieren“, das heißt, es wird standardmäßig ein Oracle Update Server kontaktiert. Oracle versucht dadurch wahrscheinlich, Informationen darüber zu gewinnen, wie die Funktionalität von den Kunden angenommen wird.
Da Oracle immer weniger Patch-Sets veröffentlicht, kann der PSU dazu beitragen, Oracle Datenbanken auf einen aktuelleren Patch-Set-Stand zu heben.