Google Analytics By Yoast Premium 5.4.4 Cross Site Scripting

2015-08-10T00:00:00
ID PACKETSTORM:133046
Type packetstorm
Reporter Tom Adams
Modified 2015-08-10T00:00:00

Description

                                        
                                            `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-08-10: Vendor confirmed fixed in version 5.4.5  
2015-08-10: Published  
  
  
  
Discovered by dxw:  
================  
Tom Adams  
Please visit security.dxw.com for more information.  
  
  
  
  
`