CVE-2022-24816 is a critical-severity (CVSS 10) Code Injection vulnerability in it.geosolutions.jaiext.jiffle:jt-jiffle. It is in CISA's Known Exploited Vulnerabilities catalog (added 2024-06-26) — treat it as actively exploited and patch now. A fix is available for it.geosolutions.jaiext.jiffle:jt-jiffle — see the affected versions and patch details below.
Improper Control of Generation of Code in jai-ext
Exploitation Status
Actively exploited in the wild
- Confirmed by CISA's Known Exploited Vulnerabilities catalog on 2024-06-26. Federal agencies were required to remediate by 2024-07-17.
- CISA assesses this as automatable — exploitation doesn’t require manual, per-target effort, which raises the odds of mass scanning and opportunistic attacks.
- A successful exploit gives an attacker total control of the affected component, not partial access.
Exploitation and automatability from CISA (KEV catalog and SSVC triage) for CVE-2022-24816.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
CVE-2022-24816 by exploitation likelihood (EPSS) against impact (CVSS). In the shaded patch-first corner (EPSS 50%+, CVSS 7.0+).
Where this sits among everything scored
Of 394,415 CVEs with a current EPSS score, this one falls in the ≥ 90% band (highlighted). Counts from FIRST.org, log-scaled.
Real-World Exposure
it.geosolutions.jaiext.jiffle:jt-jiffle☕it.geosolutions.jaiext.jiffle:jt-jiffle-languageReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects Maven packages — download data is not available via public APIs for these ecosystems.
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.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| ☕Maven | it.geosolutions.jaiext.jiffle:jt-jiffle | all versions | 1.1.22it.geosolutions.jaiext.jiffle:jt-jiffle:1.1.22 |
| ☕Maven | it.geosolutions.jaiext.jiffle:jt-jiffle-language | all versions | 1.1.22it.geosolutions.jaiext.jiffle:jt-jiffle-language:1.1.22 |
Affected Products
jai-extgeosolutionsgroupResearch use only. For defensive security, authorized penetration testing, and academic research only. Never execute exploit code against systems without explicit written authorization.
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for it.geosolutions.jaiext.jiffle:jt-jiffle, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update it.geosolutions.jaiext.jiffle:jt-jiffle to 1.1.22 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2022-24816 is resolved across your whole dependency graph.
Workarounds
Stop passing untrusted input into the interpreter or shell: call the affected binary with an argument array rather than a composed command string, reject anything outside a strict allowlist of expected values, and run the component under an account that cannot reach beyond the work it legitimately does.
How to detect CVE-2022-24816
A community-maintained Nuclei template exists for this CVE. You can scan for it directly:
nuclei -id cve-2022-24816 -u https://target- Template
- GeoServer <1.2.2 - Remote Code Execution
- Severity
- critical
- Impact
- Successful exploitation of this vulnerability allows an attacker to execute arbitrary code on the target system.
- Remediation
- 1.2.22 contains 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.
Template by ProjectDiscovery nuclei-templates (mukundbhuva), MIT licensed. View the full template. Scan only systems you are authorised to test.
Frequently Asked Questions
Is CVE-2022-24816 in your dependencies?
Find it across Maven, including transitive dependencies.