CVE-2023-4314

7.2 HIGH

📋 TL;DR

This vulnerability in the wpDataTables WordPress plugin allows authenticated admin users to deserialize untrusted PHP data, potentially leading to remote code execution if a suitable gadget chain exists on the server. It primarily affects WordPress multisite installations where admin users should not have code execution privileges.

💻 Affected Systems

Products:
  • wpDataTables WordPress plugin
Versions: All versions before 2.1.66
Operating Systems: All operating systems running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires admin-level access to exploit. Particularly impactful in WordPress multisite environments.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Authenticated admin attacker achieves remote code execution, leading to complete server compromise, data theft, and lateral movement.

🟠

Likely Case

Admin user with malicious intent executes arbitrary code within the WordPress context, potentially compromising the site and accessing sensitive data.

🟢

If Mitigated

Attack limited to authenticated admin users only, with proper access controls preventing unauthorized admin access.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: HIGH

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires admin access and depends on available PHP object gadget chains in the environment.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.1.66 and later

Vendor Advisory: https://wpscan.com/vulnerability/1ab192d7-72ac-4f12-8a51-f28ee4db91bc

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find wpDataTables and click 'Update Now'. 4. Verify version is 2.1.66 or higher.

🔧 Temporary Workarounds

Disable wpDataTables plugin

all

Temporarily disable the vulnerable plugin until patching is possible.

wp plugin deactivate wpdatatables

Restrict admin access

all

Implement strict access controls to limit admin panel access to trusted users only.

🧯 If You Can't Patch

  • Implement network segmentation to isolate WordPress servers from critical systems
  • Enable detailed logging and monitoring of admin user activities and PHP deserialization attempts

🔍 How to Verify

Check if Vulnerable:

Check wpDataTables plugin version in WordPress admin panel under Plugins → Installed Plugins.

Check Version:

wp plugin get wpdatatables --field=version

Verify Fix Applied:

Confirm wpDataTables version is 2.1.66 or higher in WordPress admin panel.

📡 Detection & Monitoring

Log Indicators:

  • Unusual admin user activity
  • PHP deserialization errors in WordPress logs
  • Unexpected plugin file modifications

Network Indicators:

  • Unusual outbound connections from WordPress server
  • Suspicious POST requests to wp-admin/admin-ajax.php

SIEM Query:

source="wordpress.log" AND ("wpdatatables" OR "unserialize" OR "admin-ajax.php")

🔗 References

📤 Share & Export