CVE-2020-9006

9.8 CRITICAL

📋 TL;DR

This vulnerability allows unauthenticated attackers to perform SQL injection via PHP deserialization in the Popup Builder WordPress plugin. Successful exploitation enables creation of WordPress administrator accounts, leading to potential remote code execution. WordPress sites using vulnerable versions of the Popup Builder plugin are affected.

💻 Affected Systems

Products:
  • Popup Builder WordPress Plugin
Versions: 2.2.8 through 2.6.7.6
Operating Systems: All operating systems running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with Popup Builder plugin enabled. No special configuration needed for exploitation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of the WordPress site including remote code execution, data theft, defacement, and potential lateral movement to other systems.

🟠

Likely Case

Attacker creates administrator account, gains full control of WordPress site, installs backdoors, steals sensitive data, and uses site for further attacks.

🟢

If Mitigated

Attack prevented through patching or workarounds, with minimal impact limited to failed exploitation attempts.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: CONFIRMED
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploit requires sending crafted POST requests to sg_popup_ajax.php with malicious attachmentUrl parameter. Public exploit code exists.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.x branch (specifically versions 3.0 and above)

Vendor Advisory: https://wordpress.org/plugins/popup-builder/#developers

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find Popup Builder plugin. 4. Click 'Update Now' if update available. 5. If no update available, manually download version 3.x from WordPress repository. 6. Deactivate and delete old plugin. 7. Upload and activate new version.

🔧 Temporary Workarounds

Disable vulnerable plugin

all

Temporarily disable the Popup Builder plugin until patched

wp plugin deactivate popup-builder

Web Application Firewall rule

all

Block requests to sg_popup_ajax.php with suspicious attachmentUrl parameters

🧯 If You Can't Patch

  • Remove Popup Builder plugin completely and use alternative popup solution
  • Implement strict network segmentation and limit access to WordPress admin interface

🔍 How to Verify

Check if Vulnerable:

Check WordPress plugin directory for Popup Builder version. Versions 2.2.8 through 2.6.7.6 are vulnerable.

Check Version:

wp plugin get popup-builder --field=version

Verify Fix Applied:

Verify Popup Builder plugin version is 3.0 or higher. Test by attempting to access sg_popup_ajax.php with test payloads.

📡 Detection & Monitoring

Log Indicators:

  • POST requests to /wp-content/plugins/popup-builder/files/sg_popup_ajax.php with attachmentUrl parameter
  • Unusual administrator account creation in WordPress logs
  • SQL error messages in web server logs

Network Indicators:

  • HTTP POST requests containing serialized PHP objects in attachmentUrl parameter
  • Traffic patterns showing exploitation attempts

SIEM Query:

source="web_server" AND uri="*sg_popup_ajax.php*" AND method="POST" AND (attachmentUrl="*O:*" OR attachmentUrl="*s:*")

🔗 References

📤 Share & Export