# CVE-2019-8942: File upload in n/a

> An attacker with author privileges can execute arbitrary code by uploading a crafted image with PHP code in Exif metadata, exploiting a path traversal flaw in file handling.

- **Severity:** High 8.8 (`CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H`)
- **Exploited in the wild:** Not known
- **Login needed:** Any signed-in user
- **Attackable:** Over the internet
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 20 Feb 2019
- **Updated:** 4 Aug 2024
- **Also known as:** DEBIAN-CVE-2019-8942, GHSA-rwhm-6hw4-9fgg, UBUNTU-CVE-2019-8942

## What is CVE-2019-8942?

CVE-2019-8942 is a high-severity vulnerability in Debian Debian Linux, published on 20 Feb 2019. Any signed-in user can exploit it over the network, with no action from the victim.

### Official description

WordPress before 4.9.9 and 5.x before 5.0.1 allows remote code execution because an _wp_attached_file Post Meta entry can be changed to an arbitrary string, such as one ending with a .jpg?file.php substring. An attacker with author privileges can execute arbitrary code by uploading a crafted image containing PHP code in the Exif metadata. Exploitation can leverage CVE-2019-8943.

Weakness: CWE-434 (Unrestricted Upload of File with Dangerous Type)

## Which versions are affected by CVE-2019-8942?

It affects 2 products.


Products: Debian Debian Linux, Wordpress Wordpress.

## How do I fix CVE-2019-8942?

Upgrade to a fixed version.

## Is CVE-2019-8942 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2019-8942 exists.

Public exploit code:

- A simple PoC for WordPress RCE (author priviledge), refer to CVE-2019-8942 and CVE-2019-8943. (github_poc): https://github.com/brianwrf/WordPress_4.9.8_RCE_POC
- WordPress crop-image exploitation (github_poc): https://github.com/synacktiv/CVE-2019-8942
- https://github.com/tuannq2299/CVE-2019-8942 (github_poc): https://github.com/tuannq2299/CVE-2019-8942
- Python exploit toolkit for WordPress Crop Image RCE — CVE-2019-8942 & CVE-2019-8943 (github_poc): https://github.com/SpeatX/WordPress-RCE-CVE-2019-8942
- WordPress Crop-image Shell Upload (metasploit)
- WordPress Core 5.0 - Remote Code Execution (exploitdb)

## Other vulnerabilities in Debian Debian Linux

- [CVE-2015-3306](https://insights.sbomify.com/CVE-2015-3306/): ProFTPD Improper Access Control (critical 10.0, exploited in the wild)
- [CVE-2025-49113](https://insights.sbomify.com/CVE-2025-49113/): RoundCube Webmail Deserialization of Untrusted Data (critical 9.9, exploited in the wild)
- [CVE-2026-24061](https://insights.sbomify.com/CVE-2026-24061/): GNU InetUtils Argument Injection (critical 9.8, exploited in the wild)
- [CVE-2025-39682](https://insights.sbomify.com/CVE-2025-39682/): Linux Kernel Improper Check for Unusual or Exceptional Conditions (critical 9.8, exploited in the wild)
- [CVE-2024-9680](https://insights.sbomify.com/CVE-2024-9680/): Mozilla Firefox Use-After-Free (critical 9.8, exploited in the wild)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2019-8942 and fix it if it is affected.

What it is: CVE-2019-8942 is a high-severity vulnerability in Debian Debian Linux, published on 20 Feb 2019. Any signed-in user can exploit it over the network, with no action from the victim.
Exploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2019-8942 exists.

Affected product: Debian Debian Linux. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2019-8942/ (Markdown: https://insights.sbomify.com/CVE-2019-8942/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2019-8942
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2019-8942
- OSV: https://osv.dev/vulnerability/CVE-2019-8942

---
From sbomify Insights: https://insights.sbomify.com/CVE-2019-8942/
Summaries are generated and may contain mistakes; the official description above is the record.
