CVE-2022-24816
Improper Control of Generation of Code in jai-ext
Record summary
CVE-2022-24816 has a selected CVSS score of 10.0 (critical); EIP currently links 1 repository PoC and 1 Nuclei template. CISA lists CVE-2022-24816 in KEV.
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.
Exploitation context
Known exploitation
- CISA KEV
- Listed · Jun 26, 2024 · CISA
- VulnCheck KEV
- Listed · Jan 22, 2024 · VulnCheck
- Reported exploitation
- Observed · VulnCheck
Available material
CISA SSVC decision
CISA Coordinator · SSVC 2.0.3 · Evaluated Jun 26, 2024 · Source: CVE List
Affected products and versions
5| Product | Source | Version range | Status |
|---|---|---|---|
JAI-EXTBrowse OSGeo / JAI-EXT | CISA | Version data not supplied | |
| CVE List | < 1.1.22 | affected | |
Default status: unknown | CVE List | Before 1.1.22 | affected |
it.geosolutions.jaiext.jiffle:jt-jiffleBrowse Maven / it.geosolutions.jaiext.jiffle:jt-jiffle | GitHub Advisory | Before 1.1.22 · Fixed in 1.1.22 | affected |
it.geosolutions.jaiext.jiffle:jt-jiffle-languageBrowse Maven / it.geosolutions.jaiext.jiffle:jt-jiffle-language | GitHub Advisory | Before 1.1.22 · Fixed in 1.1.22 | affected |
Proofs of concept
1Repository PoCs
GitHubc1ph3rbyt3/CVE-2022-24816Repository PoCby c1ph3rbyt3Stars: 1Not analyzed4 files
Nuclei templates
1ProjectDiscoveryCRITICALGeoServer <1.2.2 - Remote Code ExecutionCVSS 9.8
Programs run on GeoServer before 1.2.2 which use jt-jiffle and allow Jiffle script to be provided via network request are susceptible to remote code execution. The Jiffle script is compiled into Java code via Janino, and executed. In particular, this affects downstream GeoServer 1.1.22.
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.
Source: ProjectDiscovery