CVE-2022-24816
OSGeo GeoServer JAI-EXT Code Injection Vulnerability
Beschreibung
CVE-2022-24816 ist eine kritische Remote-Code-Execution-Schwachstelle (RCE) im Open-Source-Projekt JAI-EXT, einer Erweiterung der Java Advanced Imaging (JAI) API. Die Schwachstelle ermoeglicht es einem unauthentifizierten Angreifer, ueber Jiffle-Skripte beliebigen Code auf dem Server auszufuehren. Sie wird mit dem hoechstmoeglichen CVSS-Score von 10.0 (CRITICAL) bewertet und betrifft insbesondere das weit verbreitete GeoServer-Projekt als nachgelagertes System.
Die CISA hat CVE-2022-24816 in den KEV-Katalog aufgenommen, mit einer Behebungsfrist bis zum 2024-07-17. Der EPSS-Score von 94,02 % (99,9. Perzentil) dokumentiert eine nahezu sichere Ausnutzungsaktivitaet. Jiffle-Skripte werden ueber Janino zu Java-Code kompiliert und ausgefuehrt, wodurch Angreifer ueber Netzwerk-Anfragen beliebigen Java-Code injizieren koennen.
KEV-Informationen
CVSS-Score
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:HIm Rechner öffnenBetroffene Produkte
| Hersteller | Produkt | Version |
|---|---|---|
| geosolutionsgroup | jai-ext | < 1.1.22 |
Mehrere CVSS-Bewertungen
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Referenzen
- https://github.com/geosolutions-it/jai-ext/commit/cb1d6565d38954676b0a366da4f965fef38da1cb(Patch)
- https://github.com/geosolutions-it/jai-ext/security/advisories/GHSA-v92f-jx6p-73rx(Vendor Advisory)
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2022-24816(US Government Resource)
Schwachstellentyp
Remote Code Execution ueber Jiffle-Script-Injection
CVE-2022-24816 basiert auf einer Code-Injection-Schwachstelle in der Jiffle-Skriptverarbeitung von JAI-EXT. Jiffle ist eine Map-Algebra-Sprache, die fuer Raster-Bildberechnungen verwendet wird. Die Schwachstelle entsteht dadurch, dass Jiffle-Skripte ueber den Janino-Compiler direkt in Java-Bytecode kompiliert und ausgefuehrt werden. Ein Angreifer kann schaedlichen Java-Code in Jiffle-Ausdruecke einschleusen, der dann mit den Berechtigungen der Serveranwendung ausgefuehrt wird.
Diese Art von Schwachstelle faellt in den Bereich von CWE-94 -- Improper Control of Generation of Code (Code Injection), bei dem eine Anwendung externen Eingaben erlaubt, ausfuehrbaren Code zu generieren.
Weitere Informationen: CWE-94 -- Code Injection
Auswirkungsanalyse
Die Auswirkungen von CVE-2022-24816 sind katastrophal, da sie die vollstaendige Uebernahme des Servers ohne jegliche Authentifizierung ermoeglicht. Der CVSS-Vektor CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H beschreibt die maximale Bedrohungsstufe mit Scope-Aenderung. Vertraulichkeit (Hoch): Ein Angreifer kann beliebigen Code ausfuehren und damit auf saemtliche Daten des Servers zugreifen, einschliesslich Datenbankinhalte, Konfigurationsdateien und Zugangsdaten. Integritaet (Hoch): Vollstaendige Kontrolle ueber den Server ermoeglicht die Manipulation aller Daten, die Installation von Backdoors und die Kompromittierung nachgelagerter Systeme. Verfuegbarkeit (Hoch): Der Angreifer kann den Server vollstaendig lahmlegen oder fuer eigene Zwecke (z.B. Kryptomining) missbrauchen. Der Scope-Wert "Changed" (S:C) bedeutet, dass die Auswirkungen ueber das angegriffene System hinausgehen koennen, was bei GeoServer-Installationen den Zugriff auf angebundene Geodatenbanken und Kartendienste einschliesst. Der EPSS-Score von 94,02 % (99,9. Perzentil) bestaetigt die massive reale Bedrohung.
Exploit-Reifegrad
CVE-2022-24816 weist eine extrem hohe Exploit-Reife auf. Die CISA hat die aktive Ausnutzung bestaetigt und die Schwachstelle mit einer Behebungsfrist bis zum 2024-07-17 in den KEV-Katalog aufgenommen. Der EPSS-Score von 94,02 % (99,9. Perzentil) gehoert zu den hoechsten ueberhaupt beobachteten Werten. Das GitHub Security Advisory GHSA-v92f-jx6p-73rx dokumentiert die Schwachstelle im Detail. Der Patch-Commit zeigt, dass die Abhilfe in der Deaktivierung der Moeglichkeit besteht, Java-Code ueber Jiffle zu injizieren. Der Ransomware-Status ist als Unknown eingestuft. Da die Schwachstelle unauthentifizierte Remote-Code-Execution mit maximaler Schwere ermoeglicht und GeoServer weltweit in Geodaten-Infrastrukturen eingesetzt wird, ist das Exploit-Potenzial ausserordentlich hoch.
Behebung
-
JAI-EXT auf Version 1.1.22 oder hoeher aktualisieren: Installieren Sie umgehend die gepatchte Version, die die Faehigkeit zur Code-Injection ueber Jiffle-Skripte deaktiviert. Konsultieren Sie das GitHub Security Advisory fuer Details.
-
GeoServer aktualisieren: Da GeoServer als prominentestes nachgelagertes Projekt betroffen ist, aktualisieren Sie Ihre GeoServer-Installation auf eine Version, die die gepatchte JAI-EXT-Bibliothek enthaelt. Ueberpruefen Sie die GeoServer-Release-Notes fuer kompatible Versionen.
-
Netzwerkzugang zu GeoServer einschraenken: Stellen Sie sicher, dass GeoServer-Instanzen nicht ungeschuetzt aus dem Internet erreichbar sind. Implementieren Sie Reverse-Proxies mit Authentifizierung, IP-Whitelisting und Web Application Firewalls (WAF) als zusaetzliche Schutzschicht.
-
Forensische Pruefung durchfuehren: Wenn Ihre GeoServer-Installation vor dem Patchen aus dem Internet erreichbar war, gehen Sie von einer moeglicherweise erfolgten Kompromittierung aus. Ueberpruefen Sie Server-Logs auf verdaechtige Jiffle-Ausdruecke in Anfrageparametern und suchen Sie nach installierten Backdoors.
-
Eingabevalidierung auf Applikationsebene implementieren: Auch nach dem Patch sollten Sie sicherstellen, dass Jiffle-Skripte nicht direkt von nicht vertrauenswuerdigen Benutzereingaben gesteuert werden. Implementieren Sie Eingabevalidierung und -filterung auf Applikationsebene als Defense-in-Depth-Massnahme.
Technische Details
CVE-2022-24816 betrifft JAI-EXT in Versionen vor 1.1.22. Der CVSS-Vektor CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H beschreibt die maximale Bedrohungsstufe. Angriffsvektor (Netzwerk): Die Schwachstelle ist ueber Netzwerk-Anfragen an GeoServer oder andere JAI-EXT-nutzende Anwendungen erreichbar. Angriffskomplexitaet (Niedrig): Keine besonderen Bedingungen erforderlich. Berechtigungen (Keine): Keinerlei Authentifizierung notwendig. Benutzerinteraktion (Keine): Vollstaendig automatisierbar. Scope (Changed): Die Auswirkungen gehen ueber das angegriffene System hinaus. Der Angriffsmechanismus nutzt die Jiffle-Map-Algebra-Sprache als Angriffsvektor. Jiffle-Ausdruecke koennen ueber verschiedene GeoServer-Schnittstellen (WMS, WCS, WPS) als Teil von Anfrageparametern uebergeben werden. Die JAI-EXT-Bibliothek kompiliert diese Ausdruecke ueber den Janino-Compiler direkt zu Java-Bytecode. Vor dem Patch war es moeglich, beliebigen Java-Code in Jiffle-Ausdruecke einzuschleusen, der dann ohne Sandbox oder Berechtigungseinschraenkung mit den vollen Rechten des Serverprozesses ausgefuehrt wurde. Der Patch deaktiviert die Moeglichkeit, Java-Konstrukte in Jiffle-Skripte einzubetten.
Häufig gestellte Fragen
Ist meine GeoServer-Installation betroffen?
Wenn Ihre GeoServer-Installation eine JAI-EXT-Version vor 1.1.22 verwendet und Jiffle-Skripte ueber Netzwerk-Anfragen akzeptiert (was in der Standardkonfiguration der Fall ist), ist sie betroffen. Ueberpruefen Sie die eingesetzte JAI-EXT-Version in den GeoServer-Bibliotheken.
Kann ein Angreifer ohne Authentifizierung beliebigen Code ausfuehren?
Ja, das ist der Kern der Schwachstelle. Ein unauthentifizierter Angreifer kann ueber speziell praeparierte Anfragen an GeoServer-Endpunkte schaedlichen Java-Code einschleusen und ausfuehren. Der CVSS-Score von 10.0 mit "PR:N" (keine Berechtigungen) bestaetigt dies.
Warum hat diese Schwachstelle den maximalen CVSS-Score von 10.0?
CVE-2022-24816 erfuellt alle Kriterien fuer die hoechste Einstufung: Netzwerk-Angriffsvektor, niedrige Komplexitaet, keine Authentifizierung, keine Benutzerinteraktion erforderlich, Scope-Aenderung und maximale Auswirkungen auf Vertraulichkeit, Integritaet und Verfuegbarkeit. Diese Kombination ergibt den theoretischen Hoechstwert.
Betrifft die Schwachstelle nur GeoServer?
Nein, obwohl GeoServer das prominenteste betroffene Projekt ist, betrifft CVE-2022-24816 grundsaetzlich jede Anwendung, die die JAI-EXT-Bibliothek verwendet und Jiffle-Skripte ueber Netzwerk-Anfragen entgegennimmt. Ueberpruefen Sie Ihre Java-Anwendungen auf die Verwendung der JAI-EXT-Abhaengigkeit.
Hilfe beim Schwachstellenmanagement?
Unsere Sicherheitsexperten helfen Ihnen bei der Priorisierung und Behebung von Schwachstellen.