CVE-2021-24914

Tawk.To Live Chat <= 0.5.4 - Missing Authorization to Visitor Monitoring & Chat Removal

2021-11-08 00:00
Quentin VILLAIN (3wsec)

Strategic Overview

Status
Patched in 0.6.0
Affected Plugin
Tawk.To Live Chat
Affected Version
< 0.6.0
CVSS
8.0High
Weakness type
CWE-862 · Missing Authorization
CVE
CVE-2021-24914
View all Tawk.To Live Chat vulnerabilities

At a glance

CVE-2021-24914 is a high-severity Missing Authorization vulnerability in the Tawk.To Live Chat WordPress plugin, affecting versions < 0.6.0. It carries a CVSS score of 8.0 (reachable over the network; low attack complexity; high confidentiality, integrity, availability impact). The root cause is a missing authorization check on a reachable function. The issue is fixed in version 0.6.0; sites on affected versions should update now. Disclosed November 2021, reported by Quentin VILLAIN (3wsec).

Vulnerability Overview

The Tawk.To Live Chat WordPress plugin before 0.6.0 does not have capability and CSRF checks in the tawkto_setwidget and tawkto_removewidget AJAX actions, available to any authenticated user. The first one allows low-privileged users (including simple subscribers) to change the 'tawkto-embed-widget-page-id' and 'tawkto-embed-widget-widget-id' parameters. Any authenticated user can thus link the vulnerable website to their own Tawk.to instance. Consequently, they will be able to monitor the vulnerable website and interact with its visitors (receive contact messages, answer, ...). They will also be able to display an arbitrary Knowledge Base. The second one will remove the live chat widget from pages.

Technical Analysis

The vector marks this flaw as remotely reachable over the network, with low attack complexity — no special timing or configuration is needed. A successful exploit has high impact on confidentiality, integrity, availability — full site compromise territory.

CWE-862: Missing Authorization

Tawk.To Live Chat < 0.6.0 carries this weakness at tawkto-embed-widget-page-id, and reaching it takes a caller who can reach the endpoint. A missing authorization check means a function is reachable by anyone who can reach the endpoint, because the code never asks whether the caller is allowed to perform the action.

Any user who can reach the endpoint gets to run an action reserved for higher-privileged roles, from reading protected data to changing settings or content. For Tawk.To Live Chat the fix is 0.6.0: builds < 0.6.0 are affected, anything from 0.6.0 onward is not.

Remediation

Update to version 0.6.0, or a newer patched version

How does WordSec protect against this?

Because it turns on account access, WordSec's login security is the relevant layer: role-based two-factor, captcha and brute-force limits raise the cost of getting the account this needs. None of that substitutes for the fix: Tawk.To Live Chat 0.6.0 closes this, and updating the plugin is the step that ends it.

  • Login Security
  • Alerts

External References

Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C