CVE-2023-6964

8.5 HIGH

📋 TL;DR

This vulnerability in the Kadence Blocks WordPress plugin allows authenticated attackers with contributor-level access or higher to perform Server-Side Request Forgery (SSRF) attacks. Attackers can make arbitrary web requests from the vulnerable server, potentially accessing internal services and sensitive information. All WordPress sites using vulnerable versions of Kadence Blocks are affected.

💻 Affected Systems

Products:
  • Gutenberg Blocks by Kadence Blocks – Page Builder Features WordPress plugin
Versions: All versions up to and including 3.1.26
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with Kadence Blocks plugin and at least one user with contributor-level permissions or higher.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could access internal services, exfiltrate sensitive data from internal networks, perform port scanning, or interact with cloud metadata services to escalate privileges.

🟠

Likely Case

Attackers with contributor access could probe internal networks, access internal APIs, or interact with services that should be restricted to internal use only.

🟢

If Mitigated

With proper network segmentation and authentication controls, impact is limited to information disclosure from services accessible to the web server.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires authenticated access but is straightforward once authenticated. Contributor-level access is relatively easy to obtain in many WordPress installations.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.1.27 and later

Vendor Advisory: https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&new=3019592%40kadence-blocks&old=2996625%40kadence-blocks

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.1.27 or higher.

🔧 Temporary Workarounds

Disable vulnerable AJAX endpoint

all

Remove the vulnerable 'kadence_import_get_new_connection_data' AJAX action handler

Add to theme's functions.php or custom plugin: remove_action('wp_ajax_kadence_import_get_new_connection_data', 'kadence_import_get_new_connection_data');

Restrict user roles

all

Limit contributor-level access to trusted users only

🧯 If You Can't Patch

  • Implement network segmentation to restrict web server access to internal services
  • Deploy web application firewall rules to block SSRF patterns

🔍 How to Verify

Check if Vulnerable:

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

Check Version:

wp plugin list --name=kadence-blocks --field=version

Verify Fix Applied:

After updating, verify Kadence Blocks version shows 3.1.27 or higher in WordPress admin panel.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to /wp-admin/admin-ajax.php with action=kadence_import_get_new_connection_data
  • Outbound web requests from web server to internal IP ranges or unusual domains

Network Indicators:

  • Web server making requests to internal services (192.168.*, 10.*, 172.16-31.*)
  • Requests to cloud metadata endpoints (169.254.169.254)

SIEM Query:

source="web_server_logs" AND (url_path="/wp-admin/admin-ajax.php" AND parameters CONTAINS "action=kadence_import_get_new_connection_data")

🔗 References

📤 Share & Export