Cross-Site-Scripting-Schwachstelle in der Oracle Integration Cloud identifiziert
Im November 2023 entdeckte ich im Rahmen einer Sicherheitsanalyse einer Kundeninstanz der Oracle Integration Cloud Platform eine mittelschwere Sicherheitslücke, die in der Handhabung des URL-Parameters „consumer_url“ verborgen war. Diese Schwachstelle eröffnete einen Cross-Site Scripting (XSS)-Vektor, der von einem Angreifer ausgenutzt werden konnte. In Übereinstimmung mit unseren Richtlinien zur verantwortungsbewussten Veröffentlichung von Informationen wurde diese Schwachstelle dem Anbieter sofort gemeldet, um ihm die nötige Zeit zu geben, sich mit dem betreffenden Mangel zu befassen und ihn zu beheben.
Mittlerweile wurde die Schwachstelle am 2024-07-16 von Oracle behoben, wie aus den Patchnotes – Oracle Critical Patch Update Advisory – July 2024 hervorgeht.
Was ist die Oracle Integration Cloud (OIC)?
OIC ist eine Cloud-basierte Integrations-Plattform, um Verbindungen zwischen verschiedenen Anwendungen und Systemen innerhalb von Organisationen und untereinander zu erleichtern. Sie bietet eine visuelle Entwicklungsoberfläche, die es Benutzern ermöglicht, Integrationen ohne umfangreiche Programmierkenntnisse zu erstellen, bereitzustellen und zu verwalten. Eine XSS-Schwachstelle stellt nicht nur ein Risiko für die Sicherheit von OIC dar, sondern birgt auch die Gefahr einer Störung des Datenflusses zwischen den vernetzten Systemen. Dies könnte zu Unterbrechungen kritischer Geschäftsprozesse führen und damit die Zuverlässigkeit des Gesamtsystems gefährden.
Die spezifische Schwachstelle befindet sich, wie bereits erwähnt, im Parameter „consumer_url“, welcher von mehreren Stellen auf der Plattform verwendet wird. Nachdem ich mit mehreren Integrationen innerhalb der Plattform experimentiert und diese konfiguriert hatte, wurde meine Aufmerksamkeit auf die URLs und ihre Parameter gelenkt, insbesondere auf diesen URL-Query-Parameter, da er innerhalb der Anwendung häufig verwendet zu werden schien.
Leider waren meine ersten Versuche, diesen Parameter zu verändern, nicht erfolgreich, da das Backend der Webseite alle empfangenen Daten korrekt bereinigt hat. Also machte ich eine kurze Pause, trank eine Tasse Kaffee und begann dann, das JavaScript auf der Webseite genauer zu untersuchen.
Analyse der Sicherheitslücke
Während ich eine der verfügbaren Integrationen untersuchte, änderte ich den Parameterwert für „consumer_url“ in „javascript:alert(24)“ (ein bekannter XSS-Payload für href-Attribute). Zunächst gab es keine sofortigen Auswirkungen auf das Laden der Seite. Als jedoch versucht wurde, die Integration zu schließen, wurde unerwartet die Warnung ausgelöst. Obwohl es sich um eine Sicherheitslücke handelt, wird deren Missbrauch durch das Fehlen einer gültigen Integrations-ID in der URL erschwert. Um diese Lücke effektiv auszunutzen, müsste der Angreifer die Integrations-ID kennen, was eine nicht ganz triviale Aufgabe darstellt.
Doch nach weiteren Untersuchungen entdeckte ich einen viel besseren Angriffsvektor. Die Seite zum Erstellen einer neuen Integration, die unter https://.integration.ocp.oraclecloud.com/ic/integration/home/faces/link?page=integration&consumer_url= zu finden ist, erforderte keine weiteren Parameter. Dies bedeutete, dass ein Angreifer nur die Instanz-ID der jeweiligen Oracle Integration Cloud-Plattform identifizieren musste, um eine wirksame Nutzlast an einen beliebigen Nutzer der Plattform zu senden. Somit konnte der Angreifer die Anforderung umgehen, eine spezifische Integrations-ID zu kennen, die normalerweise nur angemeldeten Benutzern zugänglich ist.

Nachdem ich dieses Ergebnis mit dem Rest des Teams überprüft und eine offizielle Meldung an Oracle Security Alerts geschickt hatte, reagierte man schnell. Oracle bestätigte die Schwachstelle und teilte mit, dass eine Lösung in Kürze verfügbar sei.
Ein paar Monate später
Insgesamt dauerte es etwa acht Monate, bis Oracle die Schwachstelle behoben hatte, und sie informierten uns erst, nachdem wir sie an unsere Veröffentlichungsrichtlinien erinnert hatten (die besagen, dass alles, was länger als 90 Tage dauert, auch offengelegt wird). Wir freuen uns zwar darüber, dass die Schwachstelle behoben wurde, doch muss unbedingt auf die lange Zeitspanne bis zum Fix hingewiesen werden, die wir auch bei anderen großen Anbietern feststellen.
Solche Verzögerungen stellen nicht nur eine Gefahr für die Systeme der Kunden dar, sondern untergraben auch das Vertrauen in die Reaktionsfähigkeit und das Sicherheitsversprechen großer Softwarehersteller, da Unternehmen, die sich auf diese Anbieter verlassen, in der Zwischenzeit anfällig für Angriffe sind.
So identifizieren Sie Schwachstellen in Ihren Webanwendungen
Um XSS-Angriffe zu verhindern, müssen Sie Inputs validieren, die Ausgabe verschlüsseln und, wenn möglich, eine wirkungsvolle Content Security Policy umsetzen. Auch sollten Sie eine sichere Sitzungssteuerung und HTTP Only/Secure-Flags für Cookies einsetzen. Insbesondere für DOM-gestützte XSS sollten Sie eine clientseitige Validierung, eine sichere DOM-manipulation und eine kontextabhängige Verschlüsselung implementieren.
Um die Sicherheit und Effektivität solcher Maßnahmen zu testen sind regelmäßige Penetrationstests die beste Lösung. SWAT, die Pen-Testing-as-a-Service-Lösung von Outpost24, bietet eine kontinuierliche Überwachung und Analyse von Webanwendungen im SaaS-Modell. Zusätzlich zu 24/7 automatisierten Tests bieten unsere fortschrittlichen Penetrationstest und unsere Pentester individuelle und tiefgreifende Analysen Ihrer Assets, um relevante Schwachstellen aufzudecken, die von maschinellen Scans häufig nicht erkannt werden. Vereinbaren Sie noch heute eine erste Beratung!
Outpost24 Ghost Labs
Ghost Labs ist die spezialisierte Sicherheitsabteilung von Outpost24, die fortschrittliche Sicherheitsdienstleistungen wie erweiterte Netzwerk-Penetrationstests, Web-Anwendungstests, Red Teaming-Assessments und komplexe Angriffe anbietet. Darüber hinaus leistet das Ghost Labs-Team einen aktiven Beitrag zur Community mit Schwachstellenforschung und koordinierten Programmen zur verantwortungsvollen Offenlegung von neuen Ergebnissen.
Ghost Labs führt Hunderte von erfolgreichen Penetrationstests für seine Kunden durch, die von globalen Unternehmen bis hin zu KMU reichen. Unser Team besteht aus hochqualifizierten ethischen Hackern, die ein breites Spektrum an fortschrittlichen Testdienstleistungen abdecken, um Unternehmen dabei zu helfen, mit den sich entwickelnden Bedrohungen und neuen Technologien Schritt zu halten.