Vulnerability · Published Oct 16, 2026 · Assigned by GitHub_M
CVE-2026-30971ZoneMinder: Authenticated RCE via command injection in monitor Device Path
High 8.8
In plain English
A high-severity OS command injection in zoneminder from ZoneMinder. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 1.1% (higher than 65% of all known vulnerabilities).
Official description
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.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian:12 | zoneminder | no fix listed | DEBIAN-CVE-2026-30971 |
| Debian:13 | zoneminder | no fix listed | DEBIAN-CVE-2026-30971 |
| Debian:14 | zoneminder | no fix listed | DEBIAN-CVE-2026-30971 |
| Ubuntu:24.04:LTS | zoneminder | no fix listed | UBUNTU-CVE-2026-30971 |
| Ubuntu:26.04:LTS | zoneminder | no fix listed | UBUNTU-CVE-2026-30971 |
| Ubuntu:26.10 | zoneminder | no fix listed | UBUNTU-CVE-2026-30971 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| ZoneMinder | zoneminder | < 1.36.40>= 1.38.0, < 1.38.2>= 1.39.0, < 1.39.2 |
Weakness: CWE-78 · Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H