# Exploit Title: WordPress Plugin iQ Block Country 1.2.13 - Arbitrary File Deletion via Zip Slip (Authenticated)# Date: 02-17-2022# Exploit Author: Ceylan Bozoğullarından# Blog Post: https://bozogullarindan.com/en/2022/01/wordpress-iq-block-country-1.2.13-admin-arbitray-file-deletion-via-zip-slip/# Software Link: https://en-gb.wordpress.org/plugins/iq-block-country/# Version: 1.2.12# Tested on: Linux# CVE: CVE-2022-0246 (https://wpscan.com/vulnerability/892802b1-26e2-4ce1-be6f-71ce29687776)# Description:
iQ Block Country is a WordPress plugin that allows you to limit access to your website content. It can allow or disallow visitors from defined countries to (parts of) the content of the website.
The settings of the plugin can be exported or imported using its backup functionality. An authorized user can import preconfigured settings of the plugin by uploading a zipfile. After the uploading process, files in the uploaded zipfile are extracted one by one. During the extraction process, existence of a fileis checked. If the file exists, it is deleted without any security control by only considering the name of the extracted file. This behavior leads to “Zip Slip” vulnerability.
Zip Slip can cause damage by overwriting configuration files or other sensitive resources. In this finding, An attacker can exploit this vulnerability and the behavior of the extraction process, to delete an arbitrary filein the server. For doing this, it is enough to upload a zipfile containing a file that is named as the path of a file which is desired to be deleted.
The details of the discovery are given below.# Steps To Reproduce:1. Install and activate the iQ Block Country plugin.2. Create a test filein the vulnerable system:(e.g./var/www/html/test.txt)3. Create a zipfile containing a file named as../../../../test.txt. Absolute path at the end of this process will be:/var/www/html/wp-content/uploads/2022/01/../../../../test.txt
4. Go back to the WordPress, visit Settings > iQ Block Country > Import/Export tab.5. Click the “Browse” button and choose the zipfile which is created in the Step 3.6. Click the “Restore settings” button.7. “Invalid file” message will be appeared but nevermind the message. Check whether the test.txt fileis deleted ornot.