Patchfirst
CVE-2022-24816 KEVPublic exploit Critical · 10.0 EPSS 99.9%

OSGeo GeoServer JAI-EXT Code Injection Vulnerability

OSGeo · JAI-EXT

Summary

The flaw is a code injection weakness in the JAI-EXT project, an open-source extension to the Java Advanced Imaging API, where Jiffle scripts supplied through network requests are compiled into Java via Janino and executed, with the downstream GeoServer project affected. An attacker who can submit a Jiffle script over the network, without needing authentication or any user interaction, can inject malicious code that is compiled and run, achieving remote code execution, provided the application accepts such scripts from network requests.

Official description · NVD

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.

Breakdown
70.0 / 100
Exploited
Yes, in CISA KEV
Reports
0
Tactics
2/15

How an attack unfolds

Based on mappings. Select a step to see the evidence.
  1. How attackers get in

  2. What they do

First seen exploited 21 months after disclosure. Public exploit code (PoC-in-GitHub) appeared 3 years after disclosure.

  1. Disclosedday 0
  2. First seen exploitedVulnCheck KEV evidence+21 mo
  3. Added to CISA KEVEU database agrees+2 yrs
  4. Public exploit codePoC-in-GitHub+3 yrs

CISA KEV listing is when exploitation was confirmed, not necessarily the first attack.

techniques

2 , grouped by in kill-chain order, 2 cited passages 2

Initial AccessTA0001

Exploit Public-Facing Application T1190 Medium
AI mapping from the description · how it is exploited

Network-facing input enables remote exploitation of application

Programs allowing Jiffle script to be provided via network request can lead to a Remote Code Execution
From the official description (NVD) Original (opens in a new tab) ↗

ExecutionTA0002

Command and Scripting Interpreter T1059 Medium
AI mapping from the description · primary impact

Injected script executes arbitrary code on host

the Jiffle script is compiled into Java code via Janino, and executed
From the official description (NVD) Original (opens in a new tab) ↗

Detection

0 rules for this CVE · 244 general rules for its techniques

Rules for this CVE

0 that reference CVE-2022-24816 directly.

CVE-specific rules are not available in this build. Search SigmaHQ ↗

Sigma rules © SigmaHQ, Detection Rule License 1.1; linked, not reproduced.

Am I affected? What do I upgrade to?

From GitHub Security Advisories and OSV

2 packages in 1 ecosystem. No single main package: each of these ships the affected code.

  • Mavenit.geosolutions.jaiext.jiffle:jt-jiffle
    Affected: All versions before 1.1.22Upgrade to 1.1.22 or later
  • Mavenit.geosolutions.jaiext.jiffle:jt-jiffle-language
    Affected: All versions before 1.1.22Upgrade to 1.1.22 or later

Check your lockfile against all CVEs

What security researchers reported

Not named in any threat report yet

Also mentioned in 50 community threat pulses (AlienVault OTX)

Weaker evidence

Pulses are indicator collections that anyone can publish. A mention is not confirmation of exploitation.

References

3 links, grouped by NVD tag (2 duplicates merged)
↑ ↓ chooseEnter openEsc close