CVE-2025-13967
📋 TL;DR
The Woodpecker for WordPress plugin has a stored cross-site scripting vulnerability in the 'form_name' parameter of its shortcode. Authenticated attackers with Contributor-level access or higher can inject malicious scripts that execute when users view affected pages. This affects all WordPress sites using the plugin up to version 3.0.4.
💻 Affected Systems
- Woodpecker for WordPress plugin
⚠️ Manual Verification Required
This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.
Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).
🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.
- Review the CVE details at NVD
- Check vendor security advisories for your specific version
- Test if the vulnerability is exploitable in your environment
- Consider updating to the latest version as a precaution
⚠️ Risk & Real-World Impact
Worst Case
Attackers could steal session cookies, redirect users to malicious sites, deface websites, or perform actions on behalf of authenticated users.
Likely Case
Attackers with contributor access inject malicious scripts to steal admin credentials or session cookies from users viewing affected pages.
If Mitigated
With proper user role management and input validation, impact is limited to low-privilege user sessions.
🎯 Exploit Status
Exploitation requires authenticated access with at least Contributor privileges. The vulnerability is well-documented with code references.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 3.0.5 or later
Vendor Advisory: https://plugins.trac.wordpress.org/browser/woodpecker/
Restart Required: No
Instructions:
1. Log into WordPress admin panel
2. Navigate to Plugins → Installed Plugins
3. Find Woodpecker for WordPress
4. Click 'Update Now' if update is available
5. Alternatively, download latest version from WordPress plugin repository
🔧 Temporary Workarounds
Remove Contributor Role Access
allTemporarily restrict contributor-level users from creating or editing posts/pages
Disable Plugin
linuxDeactivate the Woodpecker plugin until patched
wp plugin deactivate woodpecker
🧯 If You Can't Patch
- Implement strict user role management to limit contributor access
- Add web application firewall rules to block XSS payloads in form_name parameter
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin panel → Plugins → Installed Plugins for Woodpecker version ≤3.0.4
Check Version:
wp plugin list --name=woodpecker --field=version
Verify Fix Applied:
Verify plugin version is ≥3.0.5 in WordPress admin panel
📡 Detection & Monitoring
Log Indicators:
- Unusual POST requests containing script tags in form_name parameter
- Multiple failed login attempts followed by successful contributor login
Network Indicators:
- Outbound connections to suspicious domains from WordPress site
- Unexpected JavaScript execution in page responses
SIEM Query:
source="wordpress.log" AND ("woodpecker" OR "form_name") AND ("script" OR "javascript" OR "onload" OR "onerror")
🔗 References
- https://plugins.trac.wordpress.org/browser/woodpecker/tags/3.0.4/public/class-wfw-public.php#L109
- https://plugins.trac.wordpress.org/browser/woodpecker/tags/3.0.4/public/partials/wfw-public-shortcode.php#L39
- https://plugins.trac.wordpress.org/browser/woodpecker/trunk/public/class-wfw-public.php#L109
- https://plugins.trac.wordpress.org/browser/woodpecker/trunk/public/partials/wfw-public-shortcode.php#L39
- https://www.wordfence.com/threat-intel/vulnerabilities/id/1d99c8a8-daeb-402b-990d-6bacf6e9a780?source=cve