CVE-2024-10894
📋 TL;DR
The Payment Forms for Paystack WordPress plugin has a stored cross-site scripting vulnerability in shortcodes like 'datepicker', 'textarea', and 'text'. Authenticated attackers with contributor-level access or higher can inject malicious scripts that execute when users view affected pages. This affects all versions up to and including 4.0.2.
💻 Affected Systems
- Payment Forms for Paystack 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 administrator credentials, 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 user session cookies or redirect users to phishing pages.
If Mitigated
With proper user role management and content review, impact is limited to potential defacement of non-sensitive pages.
🎯 Exploit Status
Exploitation requires authenticated access but is straightforward once attacker has contributor privileges.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 4.0.3 or later
Vendor Advisory: https://wordpress.org/plugins/payment-forms-for-paystack/#developers
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find 'Payment Forms for Paystack'. 4. Click 'Update Now' if available. 5. Alternatively, download version 4.0.3+ from WordPress repository and replace plugin files.
🔧 Temporary Workarounds
Remove Contributor Role Access
allTemporarily restrict contributor-level users from accessing the site until patching is complete.
Disable Plugin
linuxDeactivate the Payment Forms for Paystack plugin if not critically needed.
wp plugin deactivate payment-forms-for-paystack
🧯 If You Can't Patch
- Implement strict user role management and review all content from contributors
- Add web application firewall rules to block XSS payloads in plugin shortcodes
🔍 How to Verify
Check if Vulnerable:
Check plugin version in WordPress admin under Plugins → Installed Plugins. If version is 4.0.2 or lower, you are vulnerable.
Check Version:
wp plugin get payment-forms-for-paystack --field=version
Verify Fix Applied:
After updating, verify plugin version shows 4.0.3 or higher in WordPress admin panel.
📡 Detection & Monitoring
Log Indicators:
- Unusual content modifications by contributor-level users
- Suspicious script tags in post/page content containing shortcode attributes
Network Indicators:
- Unexpected outbound connections from WordPress pages containing payment forms
SIEM Query:
source="wordpress.log" AND ("[paystack_" OR "datepicker" OR "textarea") AND ("<script>" OR "javascript:" OR "onerror=" OR "onload=")
🔗 References
- https://plugins.trac.wordpress.org/browser/payment-forms-for-paystack/tags/4.0.0/includes/classes/class-field-shortcodes.php#L218
- https://plugins.trac.wordpress.org/browser/payment-forms-for-paystack/tags/4.0.0/includes/classes/class-field-shortcodes.php#L62
- https://plugins.trac.wordpress.org/browser/payment-forms-for-paystack/tags/4.0.0/includes/classes/class-field-shortcodes.php#L99
- https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=3210130%40payment-forms-for-paystack&new=3210130%40payment-forms-for-paystack&sfp_email=&sfph_mail=#file7
- https://www.wordfence.com/threat-intel/vulnerabilities/id/20b0a946-f429-4615-9d16-4a95a9120c3d?source=cve