Welche CVEs sind kritisch, welche nicht? Wie angreifbar ist WebGoat wirklich?
Das JFrog Security Research Team hat untersucht, ob sich die Schwachstellen der bewusst unsicher konzipierten Docker-Anwendung WebGoat wirklich ausnutzen lassen. Die Analyse legte Anfälligkeiten dar, die als ernst einzustufen sind, andere könnten hingegen vorerst ignoriert werden.

Bereits eine frühere Untersuchung der Ausnutzbarkeit von CVEs (Common Vulnerabilities and Exposures) in den wichtigsten DockerHub-Images durch das JFrog Security Research Team ergab, dass 78 Prozent der gemeldeten CVEs tatsächlich nicht ausnutzbar waren. Dieses Mal nutzten die Sicherheitsforscher das Xray Contextual Analysis Feature, das automatisch die Anwendbarkeit der gemeldeten CVEs analysiert, um OWASP WebGoat zu scannen. WebGoat ist eine absichtlich unsicher konzipierte Anwendung, mit der Entwickler Schwachstellen in javabasierten Anwendungen mit gängigen und beliebten Open-Source-Komponenten testen können.
Die wichtigsten Ergebnisse
Die kontextbasierte Analyse des WebGoat-Docker-Images ergab, dass von den 60 CVEs, die mit einem Critical-CVSS-Score (Common Vulnerability Scoring System) gemeldet wurden, nur zehn tatsächlich ausnutzbar sind. Dieses exemplarische Ergebnis verdeutlicht, wie Contextual Analysis Application-Security- und Sicherheitsteams dabei unterstützen kann, sich vorrangig auf tatsächlich ausnutzbare CVEs zu konzentrieren und die Behandlung von CVEs, die nicht ohne Weiteres ausnutzbar sind, hintanzustellen.
Analyse der als ausnutzbar gemeldeten CVEs
Zunächst erfolgte die Analyse der zehn kritischen CVEs, die von den Ergebnissen der Kontextanalyse als anwendbar gemeldet wurden. Die Ausnutzbarkeitsbedingungen für diese zehn CVEs werden von der Kontextanalyse in diesem Docker-Image bestätigt. Das bedeutet, dass sie höchstwahrscheinlich von Black-Hat-Hackern angegriffen und ausgenutzt werden, so wie es in dieser Untersuchung durch die White-Hat-Hacker getan wurde.
CVE-2013-7285
Die erste nennenswerte CVE-Meldung betrifft eine Befehlsinjektion in XStream für Java. Sie ermöglicht die Ausführung von Remote-Code, wenn manipulierte XML- oder JSON-Daten deserialisiert werden. Um diese Schwachstelle ausnutzen zu können, muss ein Angreifer in der Lage sein, beliebige Eingaben an die Funktion xstream.fromXML() zu übermitteln. Eine Installation von XStream in der verwundbaren Version reicht nicht aus. Die Ergebnisse der Kontextanalyse des WebGoat-Abbilds helfen zu verstehen, ob diese Sicherheitsanfälligkeit kontextbezogen anwendbar ist. Das Ergebnis: XStream ist in der Anwendung verwundbar, oder anders ausgedrückt, die verwundbare Funktion fromXML() ist mit externer Eingabe aufrufbar. Diese Schwachstelle sollte daher als ernstes Problem behandelt werden. Die Tester konnten sie erfolgreich ausnutzen, indem sie ein bösartiges deserialisiertes Objekt als Parameter an diese Funktion übergeben und Remote-Code ausgeführt haben.
CVE-2022-22965 (SpringShell)
Eine andere als besonders kritisch gemeldete CVE ist SpringShell, eine Class-Loader-Schwachstelle in Spring Web, die zur Remote-Code-Ausführung führt. Um diese Schwachstelle auszunutzen, muss ein Angreifer einen exponierten Web-Endpunkt finden, der Anfrageparameter an POJOs (Plain Old Java Objects) bindet. Die Schwachstelle liegt im „Datenbindungs“-Mechanismus von Spring Framework. Dieser Mechanismus übernimmt Parameter aus der Anfrage-URL oder dem Anfragekörper und weist sie Funktionsargumenten oder in einigen Fällen Javaobjekten zu.
Analyse der als nicht ausnutzbar gemeldeten CVEs
Kontextuelle Scanner laufen auf ihrer konservativsten Einstellung, die mit extrem hoher Zuverlässigkeit Schwachstellen erkennt, die als nicht ausnutzbar eingestuft sind. Ein entscheidender Vorteil ist die Möglichkeit, die Anzahl der zu prüfenden Schwachstellen automatisch zu reduzieren. Dies hilft Sicherheitsingenieuren, Schwachstellen auf der Grundlage ihrer Ausnutzbarkeit und nicht nur ihres Schweregrads zu priorisieren und bei Bedarf sogar zu ignorieren.
Fazit
Die Ergebnisse der Sicherheitsforscher zeigen, dass nur zehn der 60 CVEs, die kontextuell analysiert wurden, tatsächlich ausnutzbar sind. Dies ist recht überraschend, wenn man bedenkt, dass WebGoat eine Anwendung ist, die absichtlich unsicher konzipiert wurde. Tatsächlich stimmen diese Ergebnisse mit dem überein, was bisher über CVEs bekannt ist – auch im Jahr 2023 sind die Bedingungen für die Ausnutzung von CVEs in den meisten Fällen nicht erfüllt.
Weitere Informationen bietet der Artikel „Testing the actual security of the most insecure Docker application“ im JFrog-Blog.
(ID:49258469)