Full Disclosure mailing list archives

Stored XSS in Google Analytics by Yoast Premium allows privileged users to attack other users (WordPress plugin)


From: dxw Security <security () dxw com>
Date: Mon, 10 Aug 2015 12:16:11 +0000

Details
================
Software: Google Analytics by Yoast Premium
Version: 5.4.4
Homepage: https://yoast.com/wordpress/plugins/google-analytics/
Advisory report: https://security.dxw.com/advisories/xss-in-google-analytics-by-yoast-premium-by-privileged-users/
CVE: Awaiting assignment
CVSS: 5.5 (Medium; AV:N/AC:L/Au:S/C:P/I:P/A:N)

Description
================
Stored XSS in Google Analytics by Yoast Premium allows privileged users to attack other users

Vulnerability
================
A user with the “manage_options” capability but not the “unfiltered_html” capability is able to add arbitrary 
JavaScript to a page visible to admins.
In the default configuration of WordPress, all users with the “manage_options” capability have the “unfiltered_html” 
capability. However it is possible to remove the “unfiltered_html” capability from (non-super) admin users. Therefore 
this presents a vulnerability in which an authenticated user is able to exceed their privileges.

Proof of concept
================

Remove the “unfiltered_html” capability from the admin role and log in as a non-super admin
For testing you can remove that capability from all users with this line: add_filter(‘user_has_cap‘, function 
($allcaps, $cap, $args) { $allcaps[‘unfiltered_html‘] = false; return $allcaps; }, 10, 3);
Visit Analytics > Settings
Click the Advanced tab
Enter the following into the Subdomain tracking field (including the quotes): ” onfocus=”alert(1)
Click Save changes
Refresh the page
Click the Advanced tab
Focus the Subdomain tracking field by clicking it or tabbing to it
alert(1) will be called


Mitigations
================
Upgrade to version 5.4.5 or later.
If all users have the ‘unfiltered_html’ capability, or there is only one admin, then there is no issue.

Disclosure policy
================
dxw believes in responsible disclosure. Your attention is drawn to our disclosure policy: 
https://security.dxw.com/disclosure/

Please contact us on security () dxw com to acknowledge this report if you received it via a third party (for example, 
plugins () wordpress org) as they generally cannot communicate with us on your behalf.

This vulnerability will be published if we do not receive a response to this report with 14 days.

Timeline
================

2015-07-21: Discovered
2015-07-22: Reported to vendor via email
2015-07-22: Requested CVE
2015-07-10: Vendor confirmed fixed in version 5.4.5
2015-07-10: Published



Discovered by dxw:
================
Tom Adams
Please visit security.dxw.com for more information.
          


_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: http://seclists.org/fulldisclosure/

Current thread: