CVE-2024-8854

5.4 MEDIUM

📋 TL;DR

The Polls CP WordPress plugin before version 1.0.77 contains a stored cross-site scripting (XSS) vulnerability in poll settings. This allows authenticated administrators to inject malicious scripts that execute when other users view affected polls. The vulnerability bypasses WordPress's unfiltered_html restriction, making it particularly dangerous in multisite installations.

💻 Affected Systems

Products:
  • Polls CP WordPress Plugin
Versions: All versions before 1.0.77
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires administrator or high-privilege user access. Particularly concerning in WordPress multisite installations where unfiltered_html is typically restricted.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

An attacker with admin privileges could inject malicious JavaScript that steals session cookies, redirects users to phishing sites, or performs actions on behalf of authenticated users, potentially leading to full site compromise.

🟠

Likely Case

Malicious admin injects JavaScript that executes when users view polls, potentially stealing user sessions or displaying unwanted content.

🟢

If Mitigated

With proper user access controls and regular plugin updates, impact is limited to authorized administrators who would need to intentionally exploit their own site.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires admin-level access. The vulnerability is well-documented with proof-of-concept available from security researchers.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.0.77

Vendor Advisory: https://wpscan.com/vulnerability/bffe0f75-33a2-4270-af13-835b8eb65688/

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find 'Polls CP' plugin. 4. Click 'Update Now' if update available. 5. Alternatively, download version 1.0.77+ from WordPress repository and replace existing plugin files.

🔧 Temporary Workarounds

Disable Polls CP Plugin

all

Temporarily disable the vulnerable plugin until patched

wp plugin deactivate polls-cp

Restrict Admin Access

all

Limit administrator accounts to trusted personnel only

🧯 If You Can't Patch

  • Remove administrator access from untrusted users
  • Implement web application firewall (WAF) rules to block XSS payloads

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel → Plugins → Polls CP version. If version is below 1.0.77, system is vulnerable.

Check Version:

wp plugin get polls-cp --field=version

Verify Fix Applied:

Verify plugin version is 1.0.77 or higher in WordPress admin panel.

📡 Detection & Monitoring

Log Indicators:

  • Unusual poll creation/modification by admin users
  • JavaScript payloads in poll content fields

Network Indicators:

  • Unexpected JavaScript loading from poll pages
  • External script calls from poll content

SIEM Query:

source="wordpress" AND (event="plugin_update" AND plugin="polls-cp" AND version<"1.0.77") OR (event="poll_modified" AND user_role="administrator")

🔗 References

📤 Share & Export