RCE in Zoneminder

CVE-2026-30971

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.

Vulnerability class: Command Injection (OS Command Injection)

Published · last modified .

CVSS v3 metric

CVSS v3 base score 8.8 (High). Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H.

EPSS exploit prediction

No EPSS score from FIRST.org yet. New CVEs usually get one within a few days; no score means no signal yet, not low risk. How EPSS works.

Affected products

  • Zoneminder — versions < 1.36.40, >= 1.38.0, < 1.38.2, >= 1.39.0, < 1.39.2

Weakness classification (CWE)

References

Frequently asked questions

What is CVE-2026-30971?
CVE-2026-30971 is a high-severity vulnerability in Zoneminder, classified under OS Command Injection. CVSS score: 8.8/10. Published 2026-10-16.
How severe is CVE-2026-30971?
High severity. CVSS v3 base score is 8.8 out of 10.