This repository contains a proof-of-concept (PoC) code for exploiting the arbitrary file read vulnerability (CVE-2022-44268) in ImageMagick. The PoC demonstrates how an attacker can leverage the vulnerability to read arbitrary files on the system.
To run the code, ensure that you have the following dependencies installed:
- Python 3.x
- Pillow (Python Imaging Library)
You can install the necessary dependencies using pip
:
pip install pillow
The PoC code provides three main functionalities: generate, read, and apply.
Generate a PoC PNG file with embedded profile information.
python3 magileak.py generate -l [local_file] -o [output_file]
[local_file]
: Path to the local file that we want to extract.[output_file]
: Path to the output PNG file.
Read and decode the profile type from a PNG file.
python3 magileak.py read -i [input_file]
[input_file]
: Path to the input PNG file.
Apply profile information to a PNG file.
python3 magileak.py apply -i [input_file] -l [local_file]
[input_file]
: Path to the input PNG file.[local_file]
: Path to the local file that we want to extract.
This code is provided for educational and demonstration purposes only. Use it responsibly and at your own risk. The author and contributors of this repository are not responsible for any misuse or damage caused by this code.
- CVE-2022-44268: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-44268
- ImageMagick: https://imagemagick.org/
- Sybil-Scan https://github.com/Sybil-Scan/imagemagick-lfi-poc/tree/main