Command injection in ZoneMinder Device Path allows code execution
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-78.
Summary
ZoneMinder versions before 1.36.40, from 1.38.0 before 1.38.2, and from 1.39.0 before 1.39.2 are affected. The software interpolates an unvalidated monitor Device field into shell commands (CWE-78). An authenticated user with monitor-create or monitor-edit permission can save a Local monitor whose Device Path contains shell metacharacters, and the command runs when the monitor control or startup path executes. An attacker can run arbitrary commands as the web server user.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
Description from the CNA
ZoneMinder is a free, open source closed-circuit television software application. Prior to 1.39.2, 1.38.2, and 1.36.40, ZoneMinder interpolates an unvalidated monitor Device field into shell commands in PHP and Perl control paths when an authenticated user with monitor-create or monitor-edit permission saves a Local monitor whose Device Path contains shell metacharacters and the monitor control or startup path runs. In this attack mechanism, the stored Device value reaches Perl qx() and backtick execution before zmdc.pl argument detainting, while separate PHP command paths use bypassable escapeshellcmd defenses. The attacker can execute arbitrary commands as the web server user. This vulnerability is fixed in 1.39.2, 1.38.2, and 1.36.40.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| ZoneMinder | zoneminder | before 1.36.40; 1.38.0 to before 1.38.2; 1.39.0 to before 1.39.2 | 1.36.40, 1.38.2, 1.39.2 | Patch available | CNA |
- zoneminder VendorZoneMinder Affected before 1.36.40; 1.38.0 to before 1.38.2; 1.39.0 to before 1.39.2 Fixed in 1.36.40, 1.38.2, 1.39.2 Patch available CNA
CPE names Threatist (inferred) · 1
Inferred from how NVD named this product before; not given by a source.
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:zoneminder:zoneminder:*:*:*:*:*:*:*:* | — | — | ZoneMinder |
- cpe:2.3:a:zoneminder:zoneminder:*:*:*:*:*:*:*:* Versions — — ·ZoneMinder
Remediation
Upgrade ZoneMinder to version 1.36.40, 1.38.2, or 1.39.2, depending on the release branch in use.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
- Fix · CNA zoneminder (ZoneMinder) Fixed in 1.36.40, 1.38.2, 1.39.2
Timeline
- 2026-10-18 Threatist record created from CVE-2026-30971
References
More ZoneMinder vulnerabilities
- TI-2025-40444 ZoneMinder v1.36.34 is vulnerable to Command Injection in web/views/image.php. CVSS 3.1CRITICAL 9.8
- TI-2023-11269 ZoneMinder vulnerable to Missing Authorization CVSS 3.1CRITICAL 9.8
- TI-2022-18665 Database log access in ZoneMinder CVSS 3.1CRITICAL 9.1
- TI-2022-12167 ZoneMinder before 1.36.13 allows remote code execution via an invalid language. CVSS 3.1CRITICAL 9.8
- TI-2024-34403 Boolean-based SQL Injection in ZoneMinder v1.37.* <= 1.37.64 CVSS 3.1CRITICAL 10.0
- TI-2024-29012 ZoneMinder Time-based SQL Injection CVSS 3.1CRITICAL 9.8
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences