Zwei kritische Sicherheitslücken (CVE-2024-36404 & CVE-2024-36401) wurden in den beliebten Open-Source-Bibliotheken GeoTools und GeoServer entdeckt, die Remote Code Execution (RCE) ermöglichen. Diese Schwachstellen betreffen die unsichere Auswertung von XPath- und Eigenschaftsnamen-Ausdrücken und können von Angreifern ausgenutzt werden, um beliebigen Code auszuführen.
Betroffene Pakete und Versionen
org.geotools.xsd:gt-xsd-core
,org.geotools:gt-app-schema
,org.geotools:gt-complex
- Versionen: >= 30.0, < 30.4; >= 31.0, < 31.2; < 29.6
org.geoserver.web:gs-web-app
,org.geoserver:gs-wfs
,org.geoserver:gs-wms
- Versionen: >= 2.24.0, < 2.24.4; >= 2.25.0, < 2.25.2; < 2.23.6
CVE-2024-36404 (GeoTools)
Die Schwachstelle betrifft die Verarbeitung von benutzerdefinierten QCOW2-Images. Ein Angreifer kann durch das Einreichen eines speziell erstellten QCOW2-Images, das einen bestimmten Dateipfad referenziert, den Server dazu bringen, den Inhalt dieser Datei zurückzugeben. Dies führt zu unbefugtem Zugriff auf potenziell sensible Daten. Besonders gefährlich ist, dass alle Cinder-Deployments und Nova-Installationen betroffen sind, während bei Glance nur Deployments mit aktivierter Bildkonvertierung betroffen sind.
Die Methoden, die besonders anfällig sind, umfassen:
org.geotools.appschema.util.XmlXpathUtilites.getXPathValues
org.geotools.appschema.util.XmlXpathUtilites.countXPathNodes
org.geotools.appschema.util.XmlXpathUtilites.getSingleXPathValue
org.geotools.data.complex.expression.FeaturePropertyAccessorFactory.FeaturePropertyAccessor.get
org.geotools.data.complex.expression.FeaturePropertyAccessorFactory.FeaturePropertyAccessor.set
org.geotools.data.complex.expression.MapPropertyAccessorFactory.new PropertyAccessor().get
org.geotools.xsd.StreamingParser.StreamingParser
Ein Beispiel für die Ausnutzung dieser Schwachstelle ist, dass eine Eingabe an die Methode StreamingParser
die Antwort des Systems um fünf Sekunden verzögern kann:
new org.geotools.xsd.StreamingParser(
new org.geotools.filter.v1_0.OGCConfiguration(),
new java.io.ByteArrayInputStream("<Filter></Filter>".getBytes()),
"java.lang.Thread.sleep(5000)")
.parse();
CVE-2024-36401 (GeoServer):
Diese Schwachstelle betrifft mehrere OGC-Anforderungsparameter, die RCE durch unsichere Auswertung von Eigenschaftsnamen als XPath-Ausdrücke ermöglichen. Die GeoTools-Bibliothek API, die von GeoServer aufgerufen wird, evaluiert die Eigenschafts- und Attributnamen von Feature-Typen auf eine Weise, die zur Ausführung von beliebigem Code führen kann. Diese Schwachstelle betrifft alle GeoServer-Instanzen, da die unsichere Auswertung sowohl für komplexe als auch für einfache Feature-Typen angewendet wird.
Diese Schwachstelle kann über verschiedene OGC-Anforderungen wie WFS GetFeature, WFS GetPropertyValue, WMS GetMap, WMS GetFeatureInfo, WMS GetLegendGraphic und WPS Execute ausgenutzt werden.
Die Auswirkungen dieser Schwachstellen sind gravierend. Angreifer können beliebigen Code auf den betroffenen Systemen ausführen, was zu erheblichen Sicherheitsverletzungen führt, einschließlich des Zugriffs auf vertrauliche Daten und der vollständigen Kompromittierung der Integrität und Verfügbarkeit des Systems.
Ein Workaround besteht darin, die gt-complex-x.y.jar
aus den betroffenen GeoServer-Installationen zu entfernen. Dies kann jedoch zu Funktionseinschränkungen führen. Um die Schwachstellen zu beheben, sollten die betroffenen Bibliotheken auf die gepatchten Versionen aktualisiert werden.
Detaillierte Anweisungen zur Minderung und Patches sind auf OpenDev und der GeoServer-Release-Seite verfügbar.
Referenzen
Nutzer sollten dringend ihre GeoTools- und GeoServer-Bibliotheken auf die gepatchten Versionen aktualisieren, um diese kritischen Sicherheitslücken zu schließen und die Sicherheit ihrer Systeme zu gewährleisten.
Professionelle Hilfe erwünscht?
Sentiguard ist spezialisiert auf Notfallhilfe nach Cyberattacken, IT Sicherheitsbeauftragte und IT Sicherheitskonzepte nach BSI Standard. Haben Sie Fragen und wünschen Sie unverbindliche Beratung, dann melden Sie sich gerne bei uns: