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

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2021-22204 PoC — exiftool 代码注入漏洞

Source
Associated Vulnerability
Title:exiftool 代码注入漏洞 (CVE-2021-22204)
Description:Improper neutralization of user data in the DjVu file format in ExifTool versions 7.44 and up allows arbitrary code execution when parsing the malicious image
Description
Challenge based on CVE-2021-22204 where users send a malicious file to a web application to gain RCE
Readme
# DejaVu

This container runs a web application that analyzes images and returns their metadata using exiftool. Users send the application a URL to an image and the app will retrieve it, analyze it, and return the results. The version of exiftool used by the application is vulnerable to CVE-2021-22204 as the DjVu file module has an unsafe eval which can be triggered with a specially crafted file to execute arbitrary commands. Competitors must use their bot to host a malicious "image" (as a png/jpeg/tiff), then tell the app to request their malicious image and evaluate it resulting in their payload executing.

## Building
```sh
docker build . -t dejavu
```

## Running
```sh
docker run --cpus=1 -p 8000:80 dejavu
```

## Exploiting
```sh
python3 dejavu.py <container addr> <lhost address> --lhost <lhost address>
```
> **NOTE**
> It is very unstable

> **NOTE**
> The `requirements.txt` is only for the same python running on the base image. If on a different system or python version, just manually install the python packages.

## References 
* [a-case-study-on-cve-2021-22204-exiftool-rce](https://blog.convisoappsec.com/en/a-case-study-on-cve-2021-22204-exiftool-rce/)
File Snapshot

[4.0K] /data/pocs/d482c25f8dd57c256bbeb06ced38d03d6ee2ff24 ├── [5.5K] app.py ├── [3.7K] dejavu.py ├── [ 12K] DjVu.pm ├── [ 426] Dockerfile ├── [1.2K] README.md └── [ 75] requirements.txt 0 directories, 6 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 →