Vulnerability record · CVE-2022-24816 · published 13 April 2022
CVE-2022-24816: JAI-EXT Jiffle script code injection enables remote code execution
Geosolutionsgroup · Jai Ext
JAI-EXT compiles Jiffle scripts into Java code via Janino and executes them. When an application such as GeoServer accepts Jiffle scripts from network requests, an attacker can inject code that runs as Java, leading to remote code execution. The flaw is rated CVSS 10.0 and is listed in CISA KEV, so it warrants urgent attention.
Description
JAI-EXT is an open-source project which aims to extend the Java Advanced Imaging (JAI) API. Programs allowing Jiffle script to be provided via network request can lead to a Remote Code Execution as the Jiffle script is compiled into Java code via Janino, and executed. In particular, this affects the downstream GeoServer project. Version 1.2.22 will contain a patch that disables the ability to inject malicious code into the resulting script. Users unable to upgrade may negate the ability to compile Jiffle scripts from the final application, by removing janino-x.y.z.jar from the classpath.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Automated analysis
critical priorityCVSS 10.0, CISA KEV listing with a past due date, and near-maximum EPSS indicate active, high-impact exploitation.
What it is
JAI-EXT compiles Jiffle scripts into Java code via Janino and executes them. When an application such as GeoServer accepts Jiffle scripts from network requests, an attacker can inject code that runs as Java, leading to remote code execution. The flaw is rated CVSS 10.0 and is listed in CISA KEV, so it warrants urgent attention.
Impact
An unauthenticated attacker can execute arbitrary code in the context of the affected server, giving full control over the host and any data or services it can reach.
Attack surface
Reached over the network by submitting a crafted Jiffle script to an endpoint that compiles it, as in downstream GeoServer deployments. The CVSS vector shows no privileges or user interaction required.
Exploitation
CVE-2022-24816 is in CISA KEV with a 2024-06-26 addition and a 2024-07-17 remediation due date, and EPSS gives a 30-day probability of 0.98518 (99.9th percentile), indicating active exploitation. No ransomware campaign use is documented.
What to do
- Upgrade JAI-EXT to version 1.2.22 or later, which disables injection into the compiled script.
- If upgrade is not possible, remove janino-x.y.z.jar from the classpath to prevent Jiffle script compilation.
- Restrict or disable network endpoints that accept Jiffle scripts until patched.
- Apply the vendor advisory guidance and CISA KEV required actions, discontinuing use if mitigations are unavailable.
Detection
- Monitor for requests containing Jiffle script content sent to GeoServer or other JAI-EXT endpoints.
- Alert on unexpected Java compilation or Janino activity and on child processes spawned by the application server.
- Review application and web server logs for anomalous script submissions or errors from Jiffle compilation.
- Hunt for outbound connections or new files created by the Java process hosting JAI-EXT.
This assessment is produced automatically and is not human-reviewed. Verify against the vendor advisory before acting on it.
Exploitation in the wild
CISA added CVE-2022-24816 to the Known Exploited Vulnerabilities catalog on 26 June 2024 as "OSGeo GeoServer JAI-EXT Code Injection Vulnerability". Required action: Apply mitigations per vendor instructions or discontinue use of the product if mitigations are unavailable. Federal deadline 17 July 2024.
Affected products
1 vulnerable configurations from NVD's CPE data, grouped by vendor and product.
References
Track CVE-2022-24816 inside VULONE
Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.
Related vulnerabilities
Same products first, then exploited flaws of the same weakness class.
Source: NIST National Vulnerability Database (record CVE-2022-24816), CISA KEV, FIRST EPSS (scores of 2026-09-24). This page is refreshed as NVD updates the record.