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

Goal: 1000 CNY · Raised: 1310 CNY

100%

CVE-2016-15042 PoC — Frontend File Manager < 4.0 & N-Media Post Front-end Form < 1.1 & - Arbitrary File Upload

Source
Associated Vulnerability
Title:Frontend File Manager < 4.0 & N-Media Post Front-end Form < 1.1 & - Arbitrary File Upload (CVE-2016-15042)
Description:The Frontend File Manager (versions < 4.0), N-Media Post Front-end Form (versions < 1.1) plugins for WordPress are vulnerable to arbitrary file uploads due to missing file type validation via the `nm_filemanager_upload_file` and `nm_postfront_upload_file` AJAX actions. This makes it possible for unauthenticated attackers to upload arbitrary files on the affected sites server which may make remote code execution possible.
Description
CVE-2016-15042 lab: Dockerized WordPress PoC for unauthenticated file upload in Frontend File Manager <4.0 and N‑Media Post Front‑end Form <1.1
Readme
# CVE-2016-15042 – WordPress Frontend File Manager & N‑Media Post Front‑end Form Unauthenticated File Upload (PoC Lab)

Fully reproducible, Dockerized lab to validate and demonstrate CVE-2016-15042:

- Frontend File Manager (`nmedia-user-file-uploader`) v3.7 (vulnerable < 4.0)
- N‑Media Post Front‑end Form (`wp-post-frontend`) v1.0 (vulnerable < 1.1)

This repo provides a one-command setup, verification steps with Nuclei, and artifacts for reviewers. Keywords: WordPress, CVE-2016-15042, unauthenticated file upload, arbitrary file upload, PoC, security lab, Docker.

## Requirements

- Docker + Docker Compose plugin
- curl
- Nuclei (optional, for verification)

## Quick start

```bash
./scripts/setup.sh
```

Once finished:

- WordPress: <http://localhost:8090>
- Admin: admin / admin
- Public user: publicuser / publicpass

## Verify the vulnerability with Nuclei (debug enabled)

Option A: Download the template locally into this lab folder and run it.

```bash
curl -sL "https://raw.githubusercontent.com/projectdiscovery/nuclei-templates/refs/heads/main/http/cves/2016/CVE-2016-15042.yaml" -o ./CVE-2016-15042.yaml
nuclei -t ./CVE-2016-15042.yaml -u http://localhost:8090 -debug -vv \
  | tee ./debug/CVE-2016-15042-debug.txt
```

Option B: If you have the templates repo locally, run the template by path:

```bash
nuclei -t /path/to/nuclei-templates/http/cves/2016/CVE-2016-15042.yaml -u http://localhost:8090 -debug -vv \
  | tee ./debug/CVE-2016-15042-debug.txt
```

The debug output file is stored at `./debug/CVE-2016-15042-debug.txt` for reviewers.

## What this lab does

- Boots a clean WordPress with the two vulnerable plugins
- Configures guest uploads for Frontend File Manager for reliable unauthenticated testing
- Exposes WordPress on `localhost:8090`

## Notes

- If ports or credentials collide in your setup, edit `docker-compose.yml` and re-run the script.
- Artifacts are kept under `./debug/` for easy PR review.

## References

- NVD: https://nvd.nist.gov/vuln/detail/CVE-2016-15042
- Plugin Vulnerabilities (Frontend File Manager): https://www.pluginvulnerabilities.com/2016/09/19/arbitrary-file-upload-vulnerability-in-front-end-file-upload-and-manager-plugin/
- Plugin Vulnerabilities (N‑Media Post Front‑end Form): https://www.pluginvulnerabilities.com/2016/09/19/arbitrary-file-upload-vulnerability-in-n-media-post-front-end-form/
File Snapshot

Log in to view the POC file snapshot cached by Shenlong Bot

Log in to view
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 →