Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2025-3515 PoC — Drag and Drop Multiple File Upload for Contact Form 7 <= 1.3.8.9 - Unauthenticated Arbitrary File Upload via Insufficien

Source
Associated Vulnerability
Title:Drag and Drop Multiple File Upload for Contact Form 7 <= 1.3.8.9 - Unauthenticated Arbitrary File Upload via Insufficient Blacklist Checks (CVE-2025-3515)
Description:The Drag and Drop Multiple File Upload for Contact Form 7 plugin for WordPress is vulnerable to arbitrary file uploads due to insufficient file type validation in all versions up to, and including, 1.3.8.9. This makes it possible for unauthenticated attackers to bypass the plugin's blacklist and upload .phar or other dangerous file types on the affected site's server, which may make remote code execution possible on the servers that are configured to handle .phar files as executable PHP scripts, particularly in default Apache+mod_php configurations where the file extension is not strictly validated before being passed to the PHP interpreter.
Description
CVE-2025-3515 WordPress lab for Drag and Drop Multiple File Upload for CF7: Dockerized PoC & Nuclei testing
Readme
# CVE-2025-3515 WordPress Lab (Drag and Drop Multiple File Upload for Contact Form 7)

Spin up a vulnerable WordPress environment to reproduce and validate CVE-2025-3515 — unrestricted file upload via `ddmu_upload_file` in the plugin `drag-and-drop-multiple-file-upload-contact-form-7` (≤ 1.3.8.9). This lab is Dockerized for quick, deterministic testing with Nuclei.

- Vulnerable plugin: `drag-and-drop-multiple-file-upload-contact-form-7` v1.3.8.9
- Core dependency: Contact Form 7 (auto-installed)
- Endpoint of interest: `/wp-admin/admin-ajax.php?action=ddmu_upload_file`

## Quickstart

1. Start the lab

```bash
docker compose up -d
```

1. Wait 15-45s for init. Confirm WP is reachable:

```bash
curl -I http://localhost:8080/wp-login.php | head -n1
```

1. Run the Nuclei PoC template from repo root

```bash
nuclei -u http://localhost:8080 -t http/cves/2025/CVE-2025-3515.yaml -vv -debug
```

Containerized alternative (uses the same docker network):

```bash
docker run --rm --network lab-cve-2025-3515_default \
  -v "$(pwd)":/workspace \
  projectdiscovery/nuclei:latest \
  -u http://wordpress \
  -t /workspace/http/cves/2025/CVE-2025-3515.yaml -vv -debug
```

### Credentials

- WP Admin: admin / admin

### Notes

- This lab demonstrates arbitrary file upload and code execution under Apache + mod_php style containers. The included Nuclei template uploads a short PHP payload that self-deletes after echoing a marker for verification.
- For safety, only run against local or authorized targets.

### Tags / Topics

wordpress, contact-form-7, drag-and-drop-multiple-file-upload-contact-form-7, ddmu_upload_file, arbitrary file upload, rce, nuclei, docker lab, security research, CVE-2025-3515
File Snapshot

[4.0K] /data/pocs/52907b1a5fdc4706b2c20a22ce4e6f948843dfa5 ├── [1.2K] docker-compose.yml ├── [1.7K] README.md └── [4.0K] scripts └── [3.8K] wp-init.sh 1 directory, 3 files
Shenlong Bot has cached this for you
Remarks
    1. It is advised to access via the original source first.
    2. Local POC snapshots are reserved for subscribers — if the original source is unavailable, the local mirror is part of the paid plan.
    3. Mirroring, verifying, and maintaining this POC archive takes ongoing effort, so local snapshots are a paid feature. Your subscription keeps the archive online — thank you for the support. View subscription plans →