CVE-2024-5289

6.4 MEDIUM

📋 TL;DR

This vulnerability allows authenticated WordPress users with Contributor-level access or higher to inject malicious scripts via the Google Maps widget in the Kadence Blocks plugin. The scripts are stored and execute whenever other users view pages containing the injected widget. All WordPress sites using vulnerable versions of the plugin are affected.

💻 Affected Systems

Products:
  • Kadence Blocks - Gutenberg Blocks for Page Builder Features
Versions: All versions up to and including 3.2.42
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with the vulnerable plugin enabled. Contributor-level access or higher is needed for exploitation.

📦 What is this software?

⚠️ 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 accounts inject malicious scripts that steal session cookies or redirect users to phishing pages.

🟢

If Mitigated

With proper user access controls and content security policies, impact is limited to potential defacement or minor data leakage.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated access but is technically simple once an attacker has contributor-level credentials.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.2.43 or later

Vendor Advisory: https://wordpress.org/plugins/kadence-blocks/#developers

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find 'Kadence Blocks' and click 'Update Now'. 4. Verify version is 3.2.43 or higher.

🔧 Temporary Workarounds

Disable Google Maps Block

all

Temporarily disable the vulnerable Google Maps block component

Edit wp-config.php and add: define('DISABLE_KADENCE_GOOGLEMAPS', true);

Restrict User Roles

all

Remove contributor-level editing capabilities from untrusted users

Use WordPress role management plugins or custom code to restrict block editing permissions

🧯 If You Can't Patch

  • Implement Content Security Policy (CSP) headers to restrict script execution
  • Remove contributor access from all untrusted users and audit existing contributor accounts

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin > Plugins > Installed Plugins for Kadence Blocks version. If version is 3.2.42 or lower, you are vulnerable.

Check Version:

wp plugin get kadence-blocks --field=version

Verify Fix Applied:

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

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to /wp-admin/post.php with Google Maps parameters
  • Multiple failed login attempts followed by successful contributor login

Network Indicators:

  • Unexpected script tags in page responses containing 'kadence-blocks-googlemaps'

SIEM Query:

source="wordpress.log" AND ("kadence-blocks" OR "googlemaps") AND (POST /wp-admin/post.php)

🔗 References

📤 Share & Export