db
MySQL 5.7 database service for WordPress. Stores form entries including the serialized payload.
docker-compose.yml:4-14Database for Contact Form 7, WPforms, Elementor forms <= 1.4.3 - Unauthenticated PHP Object Injection to Arbitrary File Deletion
CVE-2025-7384 has a selected CVSS score of 9.8 (critical); EIP currently links 1 repository PoC and 1 lab environment.
The Database for Contact Form 7, WPforms, Elementor forms plugin for WordPress is vulnerable to PHP Object Injection in all versions up to, and including, 1.4.3 via deserialization of untrusted input in the get_lead_detail function. This makes it possible for unauthenticated attackers to inject a PHP Object. The additional presence of a POP chain in the Contact Form 7 plugin, which is likely to be used alongside, allows attackers to delete arbitrary files, leading to a denial of service or remote code execution when the wp-config.php file is deleted.
| Product | Source | Version range | Status |
|---|---|---|---|
Database for Contact Form 7, WPforms, Elementor formsBrowse crmperks / Database for Contact Form 7, WPforms, Elementor formsDefault status: unaffected | CVE List | Through 1.4.3 | affected |
A detailed technical writeup analyzing CVE-2025-7384, a PHP Object Injection vulnerability in the 'Database for Contact Form 7' WordPress plugin. The document provides root cause analysis, attack chain description, and step-by-step reproduction instructions, but does not contain executable exploit or scanner code.
The PoC documentation describes a legitimate PHP Object Injection exploit against the stated target plugin. However, the final RCE stage instructs the operator to upload a webshell from a supplied ZIP file (`payload withheld` or `system-monitor.zip`). This ZIP is present in the repository as an uninspected binary, and its behavior is not disclosed in the readable text. The operator is directed to install and activate this opaque plugin on a compromised host, which creates a material concern about concealed, operator-directed harmful behavior.
The artifact is a technical report (writeup) that explains the vulnerability, its root cause, and a reproduction process. It does not provide any standalone executable code to exploit or scan for the vulnerability; the described steps require manual interaction and external tools (Docker, a webshell ZIP). The content is purely analytical and instructional.
CVE-2025-7384_Report_EN.md:1-394CVE-2025-7384_Report_EN.md:3CVE-2025-7384_Report_EN.md:29CVE-2025-7384_Report_EN.md:199-203CVE-2025-7384_Report_EN.md:86-96CVE-2025-7384_Report_EN.md:193-232CVE-2025-7384_Report_EN.md:312-316CVE-2025-7384_Report_EN.md:312This review is limited to the supplied PoC code and context. It does not assert that the code works or is safe to execute.
A Docker Compose environment for a CVE-2025-7384 vulnerability lab, consisting of a MySQL 5.7 database and a WordPress service with a vulnerable contact-form-entries plugin. The lab demonstrates unauthenticated PHP object injection leading to remote code execution.
docker-compose.yml:1-42README.md:1-394The README explicitly describes a vulnerability (CVE-2025-7384), its root cause, and a step-by-step reproduction. The Docker Compose file sets up a WordPress instance with a vulnerable plugin, and setup.sh installs the vulnerable plugin and a lab POP gadget. The poc.py script automates the exploit chain. All components are directed at demonstrating the vulnerability.
README.md:1-10docker-compose.yml:1-42setup.sh:1-159poc.py:1-440MySQL 5.7 database service for WordPress. Stores form entries including the serialized payload.
docker-compose.yml:4-14WordPress service built from a Dockerfile (not provided). Runs the vulnerable contact-form-entries plugin and a lab POP gadget. Exposes port 8181 for HTTP access. Mounts ./wp-src for source code debugging.
docker-compose.yml:16-35setup.sh:1-159Bash script that installs WordPress, the vulnerable contact-form-entries plugin (version 1.4.3), Contact Form 7, creates a contact page, and installs a lab POP chain gadget (VulnerableFileHandler) as a mu-plugin. Also makes wp-config.php writable for the exploit.
setup.sh:1-159Python script that automates the full attack chain: injects a serialized PHP object via the CF7 form, triggers deserialization by simulating admin login, verifies wp-config.php deletion, reinstalls WordPress with attacker credentials, and uploads a webshell for RCE.
poc.py:1-440A PHP class installed as a mu-plugin by setup.sh. Its __destruct() method deletes a file specified in the $file_path property when $cleanup is true. Used to demonstrate the impact of the deserialization vulnerability.
setup.sh:120-137Supported by supplied evidence
The README, poc.py, and setup.sh all explicitly reference CVE-2025-7384 and describe a PHP object injection vulnerability in contact-form-entries ≤ 1.4.3. The lab installs the vulnerable version and provides a complete exploit chain matching the CVE description.
README.md:1-10poc.py:1-10setup.sh:1-159README.md:1README.md:1poc.py:1README.md:1README.md:1README.md:1README.md:1README.md:1README.md:1README.md:1All visible behavior targets the lab's own WordPress container. The exploit deletes wp-config.php within the container, reinstalls WordPress, and uploads a webshell—all actions confined to the lab environment. No evidence of host escape, external connections, persistence outside the lab, credential theft, or destructive behavior beyond the intended demonstration.
poc.py:1-440setup.sh:1-159docker-compose.yml:1-42This review is limited to the supplied lab evidence packet. It does not assert that the environment runs, reproduces a vulnerability, or is safe to execute. Contract: eip-docker-lab-analysis-v1.