CVE-2026-30971
HighCVSS 8.8Summary
ZoneMinder prior to 1.39.2, 1.38.2, and 1.36.40 interpolates an unvalidated monitor Device field into shell commands in PHP and Perl control paths. An authenticated user with monitor-create or monitor-edit permission can save a Local monitor whose Device Path contains shell metacharacters, leading to arbitrary command execution as the web server user.
Risk Assessment
An attacker with monitor management permissions can execute arbitrary system commands on the server, potentially leading to full host compromise and access to camera recordings.
Recommendation
Update ZoneMinder to version 1.39.2, 1.38.2, or 1.36.40, and in the meantime restrict monitor-create and monitor-edit permissions to trusted administrators only.
Other vulnerabilities in ZoneMinder
See all- CVE-2026-102607High
ZoneMinder prior to 1.38.3 concatenates the attacker-controlled exportFile request parameter into a shell command without neutralizing shell metacharacters in exportEvents(). An authenticated user with View Events or View Snapshots permission can submit a crafted export request and execute arbitrary OS commands as the web server user.
- CVE-2016-10206High
CVE-2016-10206 is a CSRF vulnerability in Zoneminder 1.30 and earlier that allows remote attackers to hijack user authentication for requests that change passwords and possibly other unspecified impacts.
- CVE-2016-10205High
Session fixation vulnerability in Zoneminder 1.30 and earlier allows remote attackers to hijack web sessions via the ZMSESSID cookie.
- CVE-2017-5368High
ZoneMinder versions 1.30 and 1.29 are vulnerable to CSRF attacks, allowing a remote attacker to make changes to the web application as the currently logged-in user. The attacker can silently create a new admin user, enabling further attacks.
- CVE-2026-102608Critical
ZoneMinder is a free, open source closed-circuit television software application. Prior to 1.38.3, downloadEvents() manually wraps a monitor Name value in single quotes instead of using escapeshellarg() before placing it in shell commands when a user with monitor-create or monitor-edit permission stores a monitor Name containing shell metacharacters and a user with Events View permission exports that monitor's events. In this attack mechanism, the stored monitor Name reaches both the ffmpeg concatenation command and the tar or zip archive command and breaks out of manual quoting. Arbitrary commands execute as the web server user.
- CVE-2016-10204Critical
CVE-2016-10204 is an SQL injection vulnerability in Zoneminder 1.30 and earlier that allows remote attackers to execute arbitrary SQL commands via the limit parameter in a log query request to index.php.
- CVE-2026-104198Medium
ZoneMinder versions 1.34.0 through 1.36.38 mishandles failed token authentication in web/includes/auth.php. validateToken() returns false for a malformed or invalidly signed token, but the caller assigns that value to the global $user variable; because web/index.php tests isset($user), boolean false is treated as a present user and the normal login redirect is skipped.
- CVE-2026-102297Medium
ZoneMinder before 1.38.4 fails to apply per-monitor access restrictions in the FramesController index endpoint. Authenticated users with Events view permission can call the frames API to list frame records from monitors they are denied access to, disclosing event and frame metadata across monitor boundaries.
- CVE-2026-102296Medium
ZoneMinder before 1.38.4 contains static buffer overflow vulnerabilities in RemoteCameraHttp::GetResponse() that allow malicious HTTP cameras or intercepting attackers to overflow fixed-size buffers by sending oversized response headers. Attackers can send crafted HTTP responses with oversized status messages, Connection headers, Content-Type values, or multipart boundaries to corrupt parser state and crash the capture process or corrupt memory.
- CVE-2024-58386Medium
ZoneMinder versions 1.37.0 before 1.38.0 contain a path traversal vulnerability in the files view that allows authenticated users to read arbitrary files. The path parameter is not properly validated before being passed to output_file, enabling attackers with Events view permission to access sensitive files like configuration files containing database credentials.
Original NVD description (English source)
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 data from NVD (NIST) · CISA KEV · EPSS

