CVE-2023-6623

9.8 CRITICAL

📋 TL;DR

This vulnerability in the Essential Blocks WordPress plugin allows unauthenticated attackers to overwrite local variables when rendering templates via REST API, potentially leading to Local File Inclusion (LFI) attacks. Attackers could read sensitive files from the server. All WordPress sites using Essential Blocks versions before 4.4.3 are affected.

💻 Affected Systems

Products:
  • Essential Blocks for WordPress
Versions: All versions before 4.4.3
Operating Systems: All operating systems running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: All WordPress installations with Essential Blocks plugin enabled are vulnerable by default.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete server compromise through LFI leading to remote code execution, sensitive file disclosure (including configuration files with database credentials), and potential website defacement.

🟠

Likely Case

Unauthenticated attackers reading sensitive server files like wp-config.php containing database credentials, potentially leading to database compromise.

🟢

If Mitigated

Limited impact if proper file permissions restrict sensitive file access, though information disclosure still possible.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

WPScan has published technical details and proof-of-concept. The vulnerability requires no authentication and has simple exploitation steps.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 4.4.3

Vendor Advisory: https://wpscan.com/vulnerability/633c28e0-0c9e-4e68-9424-55c32789b41f

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find Essential Blocks. 4. Click 'Update Now' if update available. 5. Alternatively, download version 4.4.3+ from WordPress repository and manually update.

🔧 Temporary Workarounds

Disable REST API endpoint

all

Temporarily disable the vulnerable REST API endpoint until patching

Add to wp-config.php: define('EB_REST_API_DISABLED', true);

Disable plugin

all

Temporarily disable Essential Blocks plugin

Navigate to WordPress admin → Plugins → Installed Plugins → Deactivate Essential Blocks

🧯 If You Can't Patch

  • Implement web application firewall (WAF) rules to block LFI patterns and REST API exploitation attempts
  • Restrict file system permissions to prevent reading sensitive configuration files

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Installed Plugins → Essential Blocks version number

Check Version:

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

Verify Fix Applied:

Verify Essential Blocks version is 4.4.3 or higher in WordPress admin panel

📡 Detection & Monitoring

Log Indicators:

  • Unusual REST API requests to Essential Blocks endpoints
  • File inclusion patterns in web server logs
  • Multiple 404 errors for non-existent template files

Network Indicators:

  • HTTP requests containing file path traversal patterns (../)
  • REST API requests to /wp-json/essential-blocks/ endpoints with suspicious parameters

SIEM Query:

source="web_server" AND (uri="*wp-json/essential-blocks/*" AND (param="*../*" OR param="*file=*"))

🔗 References

📤 Share & Export