The plugin 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.
POST /wp-admin/admin-ajax.php?action=tawkto_setwidget Accept-Encoding: gzip, deflate Accept: */* Connection: keep-alive Content-Length: 50 Content-Type: application/x-www-form-urlencoded Cookie: [any authenticated user] pageId=61786f4e86aee40a573880d7&widgetId=1fiv75jah https://example.com/wp-admin/admin-ajax.php?action=tawkto_removewidget
Quentin VILLAIN (3wsec)
Quentin VILLAIN (3wsec)
Yes
2021-11-08 (about 1 years ago)
2021-11-08 (about 1 years ago)
2022-04-11 (about 1 years ago)