Experts at Alert Logic have discovered a vulnerability in the popular WordPress Live Chat plugin that could be exploited by an unauthorized remote attacker to steal chat logs or manipulate chat sessions.
The critical vulnerability, tracked as CVE-2019-12498, is a critical authentication bypass issue (CWE-287 / OWASP Top 10: A2: 2017-Broken Authentication) that affects version 8.0.32 and earlier of the plugin.
The vulnerability is caused by the improper validation check for authentication, the attacker can trigger it to access restricted REST API endpoints.
“
WP Live Chat Support provides customer support and chat with visitors through their WordPress websites, over 50,000 businesses currently use this plugin.
“The restricted REST API endpoints of the affected versions of WP Live Chat are vulnerable to abuse by
The REST API endpoints of unpatched WP Live Chat Support installs are potentially exposed to attacks carried out by unauthenticated remote attackers due to vulnerability in the ‘wplc_api_permission_check()’ function.”
“The above series of ‘register_rest_route()’ calls define those REST API endpoints which should have access restrictions due to the nature of the functionality they expose,” continues the Alert Logic research team.
“Each restricted endpoint shares the same ‘permission_callback’ function, namely the ‘wplc_api_permission_check()’ function which will be explored shortly.”
A remote attacker can exploit exposed endpoints for several malicious purposes, including:
Below the timeline of the vulnerability:
Initial contact with vendor | 28 May 2019 |
Vulnerability disclosed to vendor | 29 May 2019 |
Vendor accepts vulnerability. Begins working on patch | 30 May 2019 |
Submit to NVD. CVE assigned | 31 May 2019 |
New version released. Confirmed no longer vulnerable | 31 May 2019 |
Responsible Disclosure embargo lifted | 10 June 2019 |
Fortunately, experts are not are of attacks in the wild exploiting the vulnerability.
[adrotate banner=”9″] | [adrotate banner=”12″] |
(
[adrotate banner=”5″]
[adrotate banner=”13″]