{"id":"CVE-2022-24816","kind":"vulnerability","aliases":["CVE-2022-24816"],"related":[],"title":"geosolutionsgroup jai-ext: JAI-EXT is an open-source project which aims to extend the Java Advanced Imaging (JAI) API","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.","summary":"OSGeo JAI-EXT, the image-processing library used by GeoServer, has a code injection flaw in its jt-jiffle component when Jiffle scripts are accepted from network requests. An attacker who can send such a request can run code on the server.","severity":"critical","cvss":10.0,"epss":null,"exploited":true,"exploited_at":"2024-06-26T00:00:00+00:00","products":[{"name":"OSGeo JAI-EXT","fixed":[],"affected":"","ecosystem":"vendor"},{"name":"geosolutionsgroup jai-ext","fixed":["1.1.22"],"affected":"< 1.1.22","ecosystem":"vendor"}],"ecosystems":["vendor"],"tags":["exploited","geoserver","jai-ext","java","jt-jiffle","package"],"not_affected_if":["jt-jiffle-absent","no-jiffle-scripts-from-network"],"how_to_check":"Check whether your GeoServer or application depends on jt-jiffle (for example, search your dependency tree or WEB-INF/lib for jt-jiffle jars).","fix":"Apply the vendor mitigations referenced by CISA, or stop using the affected product if no mitigation is available.","status":"open","published_at":"2022-04-13T21:15:07+00:00","first_seen_at":"2026-10-23T19:11:51+00:00","triaged_at":"2026-10-23T20:58:38+00:00","updated_at":"2026-10-23T22:29:05+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-10-23T20:58:38Z","model":"claude-haiku-5-5","output":{"fix":"Apply the vendor mitigations referenced by CISA, or stop using the affected product if no mitigation is available.\nunknown","reach":"internet","impact":"high","summary":"OSGeo JAI-EXT, the image-processing library used by GeoServer, has a code injection flaw in its jt-jiffle component when Jiffle scripts are accepted from network requests. An attacker who can send such a request can run code on the server.","category":"package","who_cares":["geoserver","java","jai-ext","jt-jiffle"],"confidence":0.6,"needs_auth":"unknown","worst_case":"Attacker runs arbitrary code on the server via crafted Jiffle script","analyst_note":"Find the specific fixed JAI-EXT/jt-jiffle versions and GeoServer advisory (CISA KEV entry and OSGeo security notices) to fill in fix and how_to_check.","how_to_check":"Check whether your GeoServer or application depends on jt-jiffle (for example, search your dependency tree or WEB-INF/lib for jt-jiffle jars).\nunknown","needs_analyst":true,"not_affected_if":["no-jiffle-scripts-from-network","jt-jiffle-absent"],"user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"critical"},"cost_usd":0.000512,"input_tokens":2840,"output_tokens":455,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-2022':25A,28A '-24816':26A,29A '1.2.22':151C 'abil':159C,175C 'accept':75B 'advanc':20A,108C 'affect':145C 'aim':15A,103C 'allow':113C 'api':23A,111C 'applic':183C 'attack':80B 'classpath':189C 'code':62B,89B,127C,137C,163C 'compil':134C,177C 'compon':70B 'contain':153C 'cve':24A,27A 'disabl':157C 'downstream':147C 'execut':128C,141C 'exploit':38B 'ext':4A,7A,33A,37A,42B,51B,95C 'extend':17A,105C 'final':182C 'flaw':64B 'geoserv':39B,59B,148C 'geosolutionsgroup':1A,34A 'imag':21A,54B,109C 'image-process':53B 'inject':63B,161C 'jai':3A,6A,22A,32A,36A,41B,50B,94C,110C 'jai-ext':2A,5A,31A,35A,40B,49B,93C 'janino':139C 'janino-x.y.z.jar':186C 'java':19A,43B,107C,136C 'jiffl':46B,69B,72B,114C,131C,178C 'jt':45B,68B 'jt-jiffl':44B,67B 'lead':123C 'librari':56B 'malici':162C 'may':172C 'negat':173C 'network':77B,120C 'open':11A,99C 'open-sourc':10A,98C 'osgeo':30A,48B 'packag':47B 'particular':143C 'patch':155C 'process':55B 'program':112C 'project':13A,101C,149C 'provid':118C 'remot':126C 'remov':185C 'request':78B,86B,121C 'result':166C 'run':88B 'script':73B,115C,132C,167C,179C 'send':83B 'server':92B 'sourc':12A,100C 'unabl':169C 'upgrad':171C 'use':57B 'user':168C 'version':150C 'via':119C,138C","nicknames":[],"mitigations":[],"who_affected":null,"tier":null,"verified":{},"analyst_revisit_at":null,"first_public_at":"2022-04-13T21:15:07+00:00","kev":{"dateAdded":"2024-06-26","dueDate":"2024-07-17","requiredAction":"Apply mitigations per vendor instructions or discontinue use of the product if mitigations are unavailable.","knownRansomwareCampaignUse":"Unknown"},"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"kev","external_id":"CVE-2022-24816","url":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog?search_api_fulltext=CVE-2022-24816","severity":null,"published_at":"2024-06-26T00:00:00+00:00","modified_at":null,"first_seen_at":"2026-10-23T19:11:51+00:00","fetched_at":"2026-10-25T17:39:56+00:00","note":null},{"source":"nvd","external_id":"CVE-2022-24816","url":"https://nvd.nist.gov/vuln/detail/CVE-2022-24816","severity":null,"published_at":"2022-04-13T21:15:07+00:00","modified_at":"2026-06-17T04:32:35+00:00","first_seen_at":"2026-10-23T22:29:05+00:00","fetched_at":"2026-10-23T22:29:05+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}