
IBM WebSphere Deserialisierung nicht vertrauenswürdiger Daten - IBM WebSphere 7,8,8.5,9
IBM WebSphere Deserialisierung nicht vertrauenswürdiger Daten – IBM WebSphere 7,8,8.5,9
Titel: IBM WebSphere Deserialisierung nicht vertrauenswürdiger Daten
Anwendung: IBM WebSphere 7,8,8.5,9
Beschreibung: Der Anwendungsserver deserialisiert nicht vertrauenswürdige Daten, wenn das Cookie WASPostParam vorhanden ist. Dies kann zu einem DoS durch Ressourcenerschöpfung und potenziell zur Ausführung beliebigen Codes führen.
Autoren: Federico Dotta <[email protected]>
Maurizio Agazzini <[email protected]>
Herstellerstatus: Behoben (PI62375)
CVE-Kandidat: Das Common Vulnerabilities and Exposures-Projekt hat
den Namen CVE-2016-5983 für dieses Problem vergeben.
Referenzen: http://lab.mediaservice.net/advisory/2016-02-websphere.txt
http://lab.mediaservice.net/code/websphere_payload.zip
http://www-01.ibm.com/support/docview.wss?uid=swg21990060
Bei Verwendung einer benutzerdefinierten Formularauthentifizierung setzt IBM WebSphere automatisch die Cookies WASPostParam und WASReqURL, wenn das Sitzungscookie LtpaToken2 ungültig ist. Die in diesen Cookies enthaltenen Daten werden verwendet, wenn sich der Benutzer erneut anmeldet, um die zuletzt besuchte Seite und die zugehörigen Parameter abzurufen.
Der WASPostParam ist ein serialisiertes Java-Objekt, das ohne Überprüfung des Objekttyps deserialisiert wird. Dieses Verhalten kann ausgenutzt werden, um einen Denial-of-Service (DoS) zu verursachen und potenziell beliebigen Code auszuführen.
Die Objekte, die den DoS verursachen können, basieren auf bekannten veröffentlichten Payloads aus:
Derzeit gibt es keine bekannte Kette, die eine Codeausführung auf IBM WebSphere ermöglicht, jedoch werden täglich neue Ketten entdeckt.
Der Angriff kann wie folgt reproduziert werden:
Erstellen einer Anwendung mit benutzerdefinierter Formularauthentifizierung
Nach dem Benutzer-Login wird das LtpaToken2 vom Anwendungsserver gesetzt
Senden einer HTTP-GET-Anfrage, die das WASPostParam-Cookie mit einem der folgenden Inhalte enthält:
01_BigString_limited_base64.txt: Ein String-Objekt; der Server antwortet normal (Objektgröße ähnlich dem nächsten).
02_SerialDOS_limited_base64.txt: Der Anwendungsserver benötigt etwa 2 Minuten zur Ausführung der Anfrage mit 100% CPU-Auslastung.
03_BigString_base64.txt: Ein String-Objekt; der Server antwortet normal (Objektgröße ähnlich dem nächsten).
04_SerialDOS_base64.txt: Der Anwendungsserver benötigt eine unbekannte Zeit zur Ausführung der Anfrage mit 100% CPU-Auslastung.
Diese Schwachstelle betrifft die folgenden Versionen und Releases von IBM WebSphere Application Server und frühere Versionen:
Liberty 16.0.0.2
9.0.0.1
8.5.5.10
8.0.0.12
7.0.0.41
Installieren Sie den Interim Fix PI62375.
Proof of Concept.
Zeitplan
20.08.2016 - Erste Mitteilung an IBM PSIRT (psirt at ibm.com) 22.08.2016 - IBM-Antwort, dem Fehler wurde die PSIRT-Advisory 6345 zugewiesen 05.10.2016 - Mitteilung von IBM mit Informationen zur Behebung (PI62375) 07.10.2016 - Sicherheitshinweis veröffentlicht