CVE-2024-9184

7.2 HIGH

📋 TL;DR

The SendPulse Free Web Push WordPress plugin has a stored cross-site scripting vulnerability that allows unauthenticated attackers to inject malicious scripts into web pages. These scripts execute automatically when users visit compromised pages, potentially affecting all WordPress sites using vulnerable plugin versions.

💻 Affected Systems

Products:
  • SendPulse Free Web Push WordPress Plugin
Versions: All versions up to and including 1.3.6
Operating Systems: All operating systems running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all WordPress installations with the vulnerable plugin enabled, regardless of configuration.

⚠️ 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.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. 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, perform actions on behalf of authenticated users, or install malware on visitor systems.

🟠

Likely Case

Attackers will inject scripts to steal session cookies or redirect users to phishing/malware sites, potentially compromising user accounts and spreading the attack.

🟢

If Mitigated

With proper input validation and output escaping, the malicious scripts would be neutralized before reaching users.

🌐 Internet-Facing: HIGH
🏢 Internal Only: LOW

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

The vulnerability is in the wp_kses_allowed_html function usage, making exploitation straightforward for attackers with basic web knowledge.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.3.7

Vendor Advisory: https://wordpress.org/plugins/sendpulse-web-push/#developers

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find SendPulse Free Web Push plugin. 4. Click 'Update Now' if available, or delete and reinstall version 1.3.7+. 5. Verify plugin is updated to 1.3.7 or later.

🔧 Temporary Workarounds

Disable vulnerable plugin

all

Temporarily disable the SendPulse Free Web Push plugin until patched

wp plugin deactivate sendpulse-web-push

Enable WordPress auto-updates

all

Configure WordPress to automatically update plugins when security patches are available

add_filter('auto_update_plugin', '__return_true'); to wp-config.php

🧯 If You Can't Patch

  • Implement a Web Application Firewall (WAF) with XSS protection rules
  • Add Content Security Policy headers to restrict script execution sources

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Installed Plugins for SendPulse Free Web Push version. If version is 1.3.6 or lower, you are vulnerable.

Check Version:

wp plugin get sendpulse-web-push --field=version

Verify Fix Applied:

After updating, verify the plugin version shows 1.3.7 or higher in WordPress admin panel.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to plugin endpoints
  • Suspicious script tags in database content
  • Multiple failed XSS attempts in web server logs

Network Indicators:

  • Unexpected script sources loading on web pages
  • Suspicious outbound connections from compromised user sessions

SIEM Query:

source="wordpress" AND (plugin="sendpulse-web-push" AND version<="1.3.6") OR (http_method="POST" AND uri CONTAINS "sendpulse" AND (payload CONTAINS "<script>" OR payload CONTAINS "javascript:"))

🔗 References

📤 Share & Export