CVE-2024-12240
📋 TL;DR
This stored XSS vulnerability in Page Builder by SiteOrigin WordPress plugin allows authenticated attackers with Contributor-level access or higher to inject malicious scripts into website pages. The scripts execute automatically when users visit compromised pages, potentially stealing credentials or performing unauthorized actions. All WordPress sites using this plugin up to version 2.31.0 are affected.
💻 Affected Systems
- Page Builder by SiteOrigin WordPress plugin
📦 What is this software?
Page Builder by Siteorigin
⚠️ Risk & Real-World Impact
Worst Case
Attackers could steal administrator credentials, deface websites, redirect visitors to malicious sites, or install backdoors for persistent access.
Likely Case
Attackers with contributor accounts inject malicious scripts to steal visitor session cookies or credentials, potentially escalating privileges.
If Mitigated
With proper user access controls and content security policies, impact is limited to isolated page defacement or limited data exposure.
🎯 Exploit Status
Exploitation requires authenticated access but is technically simple once attacker has Contributor-level credentials.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 2.31.1 or later
Vendor Advisory: https://wordpress.org/plugins/siteorigin-panels/#developers
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find 'Page Builder by SiteOrigin'. 4. Click 'Update Now' if available, or manually update to version 2.31.1+. 5. Verify update completes successfully.
🔧 Temporary Workarounds
Disable vulnerable plugin
allTemporarily disable Page Builder by SiteOrigin plugin until patched
wp plugin deactivate siteorigin-panels
Restrict user roles
allRemove Contributor role access or limit to trusted users only
🧯 If You Can't Patch
- Implement Content Security Policy (CSP) headers to restrict script execution
- Apply web application firewall rules to block XSS payloads in row label parameters
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin panel > Plugins > Installed Plugins for Page Builder by SiteOrigin version 2.31.0 or lower
Check Version:
wp plugin get siteorigin-panels --field=version
Verify Fix Applied:
Confirm plugin version is 2.31.1 or higher in WordPress admin panel
📡 Detection & Monitoring
Log Indicators:
- Unusual POST requests to /wp-admin/admin-ajax.php with 'row_label' parameter containing script tags
- Multiple failed login attempts followed by successful Contributor-level login
Network Indicators:
- HTTP requests with encoded JavaScript in row_label parameters
- Outbound connections to suspicious domains from WordPress pages
SIEM Query:
source="wordpress.log" AND "row_label" AND ("<script>" OR "javascript:" OR "onerror=" OR "onload=")