CVE-2025-28878
📋 TL;DR
This stored cross-site scripting (XSS) vulnerability in the Awesome Surveys WordPress plugin allows attackers to inject malicious scripts into web pages that are then executed when other users view those pages. All WordPress sites running Awesome Surveys versions up to and including 2.0.10 are affected. The vulnerability enables attackers to steal session cookies, redirect users, or perform actions on their behalf.
💻 Affected Systems
- Awesome Surveys WordPress Plugin
📦 What is this software?
Awesome Surveys by Willbrubaker
⚠️ Risk & Real-World Impact
Worst Case
Attackers could steal administrator session cookies, take over WordPress sites, install backdoors, deface websites, or redirect users to malicious sites, potentially leading to complete site compromise and data theft.
Likely Case
Attackers inject malicious JavaScript to steal user session cookies, potentially compromising user accounts and performing unauthorized actions within the WordPress dashboard.
If Mitigated
With proper input validation and output encoding, malicious scripts would be neutralized before reaching users, preventing any exploitation.
🎯 Exploit Status
Stored XSS vulnerabilities in WordPress plugins are commonly exploited. While no public PoC is confirmed, exploitation is straightforward once the vulnerability details are understood.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 2.0.11 or later
Restart Required: No
Instructions:
1. Log into WordPress admin dashboard. 2. Navigate to Plugins → Installed Plugins. 3. Find Awesome Surveys plugin. 4. Click 'Update Now' if update is available. 5. Alternatively, download version 2.0.11+ from WordPress.org and manually update.
🔧 Temporary Workarounds
Disable Awesome Surveys Plugin
allTemporarily deactivate the plugin until patched
wp plugin deactivate awesome-surveys
Implement Content Security Policy
allAdd CSP headers to mitigate XSS impact
Add to .htaccess: Header set Content-Security-Policy "default-src 'self'; script-src 'self'"
Add to wp-config.php: header("Content-Security-Policy: default-src 'self'; script-src 'self'");
🧯 If You Can't Patch
- Implement web application firewall (WAF) rules to block XSS payloads
- Restrict plugin access to trusted users only using WordPress role capabilities
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin dashboard → Plugins → Installed Plugins → Awesome Surveys version. If version is 2.0.10 or earlier, you are vulnerable.
Check Version:
wp plugin get awesome-surveys --field=version
Verify Fix Applied:
After updating, verify Awesome Surveys version is 2.0.11 or later in WordPress plugins list.
📡 Detection & Monitoring
Log Indicators:
- Unusual POST requests to survey submission endpoints
- JavaScript payloads in survey form submissions
- Multiple failed XSS attempts in web server logs
Network Indicators:
- Suspicious JavaScript in HTTP POST bodies to survey endpoints
- Unexpected external script loads from survey pages
SIEM Query:
source="web_server" AND (http_method="POST" AND uri_path="/wp-admin/admin-ajax.php" AND (body="<script>" OR body="javascript:" OR body="onerror="))