CVE-2025-7384

9.8 CRITICAL

📋 TL;DR

This vulnerability allows unauthenticated attackers to perform PHP object injection through deserialization of untrusted input in the Database for Contact Form 7 plugin. When combined with the Contact Form 7 plugin's POP chain, attackers can delete arbitrary files including wp-config.php, potentially leading to denial of service or remote code execution. All WordPress sites using vulnerable versions of the Database for Contact Form 7 plugin are affected.

💻 Affected Systems

Products:
  • Database for Contact Form 7, WPforms, Elementor forms WordPress plugin
Versions: All versions up to and including 1.4.3
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires Contact Form 7 plugin to be installed for full POP chain exploitation, but PHP object injection works independently.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution leading to complete site compromise, data theft, and potential server takeover if wp-config.php deletion enables further exploitation.

🟠

Likely Case

Denial of service through deletion of critical WordPress files, potentially requiring full site restoration from backups.

🟢

If Mitigated

Limited impact if proper file permissions and web application firewalls block exploitation attempts.

🌐 Internet-Facing: HIGH - WordPress sites are typically internet-facing and the exploit requires no authentication.
🏢 Internal Only: LOW - Internal-only WordPress installations have reduced attack surface but are still vulnerable if accessible.

🎯 Exploit Status

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

Proof of concept code is publicly available and the vulnerability requires minimal technical skill to exploit.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.4.4 or later

Vendor Advisory: https://plugins.trac.wordpress.org/changeset/3338764/

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find 'Database for Contact Form 7, WPforms, Elementor forms'. 4. Click 'Update Now' if available. 5. If no update shows, manually download version 1.4.4+ from WordPress.org and replace plugin files.

🔧 Temporary Workarounds

Disable vulnerable plugin

all

Temporarily disable the Database for Contact Form 7 plugin until patched

wp plugin deactivate contact-form-entries

Web Application Firewall rule

all

Block requests containing serialized PHP object patterns

Add WAF rule to block patterns like O:[0-9]+:"[^"]+":
Block POST requests to /wp-admin/admin-ajax.php with suspicious parameters

🧯 If You Can't Patch

  • Remove the Database for Contact Form 7 plugin entirely and use alternative form data storage solutions
  • Implement strict file permissions (644 for files, 755 for directories) and disable PHP execution in upload directories

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Installed Plugins for 'Database for Contact Form 7, WPforms, Elementor forms' version 1.4.3 or earlier

Check Version:

wp plugin get contact-form-entries --field=version

Verify Fix Applied:

Confirm plugin version is 1.4.4 or higher in WordPress admin panel

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to /wp-admin/admin-ajax.php
  • File deletion events in wp-content/uploads/ or wp-config.php access attempts
  • PHP deserialization errors in web server logs

Network Indicators:

  • HTTP POST requests with serialized data patterns to WordPress admin endpoints
  • Unusual file deletion commands in HTTP requests

SIEM Query:

source="web_logs" AND (uri_path="/wp-admin/admin-ajax.php" AND (http_method="POST" AND (content LIKE "%O:%" OR content LIKE "%unserialize%")))

🔗 References

📤 Share & Export