CVE-2025-1324
📋 TL;DR
This vulnerability allows authenticated WordPress users with contributor-level access or higher to inject malicious scripts into website pages using the WP-Recall plugin's 'public-form' shortcode. The scripts are stored and execute whenever other users visit the compromised pages, potentially stealing credentials or performing unauthorized actions. All WordPress sites using WP-Recall plugin versions up to 16.26.10 are affected.
💻 Affected Systems
- WP-Recall – Registration, Profile, Commerce & More WordPress plugin
📦 What is this software?
Wp Recall by Plechevandrey
⚠️ Risk & Real-World Impact
Worst Case
Attackers could steal administrator credentials, redirect users to malicious sites, deface websites, or perform actions on behalf of authenticated users, potentially leading to complete site compromise.
Likely Case
Attackers with contributor access inject malicious scripts to steal user session cookies or credentials, potentially gaining higher privileges or accessing sensitive user data.
If Mitigated
With proper input validation and output escaping, the vulnerability is eliminated, preventing script injection while maintaining plugin functionality.
🎯 Exploit Status
Exploitation requires authenticated access but is technically simple once attacker has contributor privileges.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Versions after 16.26.10
Vendor Advisory: https://plugins.trac.wordpress.org/changeset/3250094/wp-recall/trunk/add-on/publicpost/shortcodes.php
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find WP-Recall plugin. 4. Click 'Update Now' if update available. 5. Alternatively, download latest version from WordPress repository and replace plugin files.
🔧 Temporary Workarounds
Remove vulnerable shortcode usage
allIdentify and remove or disable usage of the 'public-form' shortcode from posts/pages
Restrict user roles
allTemporarily restrict contributor-level access or implement additional content moderation
🧯 If You Can't Patch
- Disable WP-Recall plugin completely until patched
- Implement web application firewall (WAF) rules to block XSS payloads targeting the public-form shortcode
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin → Plugins → Installed Plugins → WP-Recall version. If version is 16.26.10 or lower, system is vulnerable.
Check Version:
wp plugin list --name=wp-recall --field=version (if WP-CLI installed)
Verify Fix Applied:
Verify WP-Recall plugin version is higher than 16.26.10 in WordPress admin panel.
📡 Detection & Monitoring
Log Indicators:
- Unusual POST requests to WordPress containing 'public-form' shortcode with script tags
- Multiple content updates from contributor-level users
Network Indicators:
- HTTP requests containing malicious script payloads in POST parameters
- Outbound connections to suspicious domains from WordPress pages
SIEM Query:
source="wordpress.log" AND ("public-form" AND ("script" OR "javascript" OR "onclick"))