Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Network-accessible web application exploitable by any authenticated account via a trivially bypassed permission check leading to full OS command injection; PR:L reflects the sole barrier being a valid credential.
Primary rating from Vendor (TuranSec).
CVSS VectorVendor: TuranSec
Lifecycle Timeline
2DescriptionCVE.org
A remote code execution vulnerability in ZoneMinder 1.39.17 allows any authenticated user to execute OS commands by exploiting a broken permission check in the Filter class. The canEdit() and canDelete() methods invoke nonexistent methods on the ZM\User class, causing PHP __call() to return a truthy value that bypasses the permission check for all users. Any authenticated user can trigger filter-based OS command execution regardless of their assigned role.
Articles & Coverage 1
AnalysisAI
Remote code execution in ZoneMinder 1.39.17 and earlier allows any authenticated user - regardless of assigned role - to execute arbitrary OS commands by exploiting a broken permission check in the Filter class. The flaw arises because canEdit() and canDelete() invoke nonexistent methods on the ZM\User class, causing PHP's __call() magic method to silently return a truthy value and bypass all role-based authorization for filter operations. No public exploit code or CISA KEV listing has been identified at time of analysis, but the extremely low exploitation bar - any valid account suffices - makes this a high-priority remediation target for all ZoneMinder deployments.
Technical ContextAI
ZoneMinder is an open-source PHP-based video surveillance management platform commonly self-hosted on Linux servers. Its Filter class allows users to define event-matching rules that can trigger OS-level commands (archiving, alerting, external scripts), making it a high-value exploitation target. The root cause (CWE-78: Improper Neutralization of Special Elements in OS Commands) is compounded by a PHP-specific behavioral quirk: when canEdit() and canDelete() call methods that do not exist on the ZM\User class, PHP invokes the __call() magic method as a fallback. Rather than throwing an exception or returning false, __call() returns a truthy value in this implementation, causing the permission gate to evaluate as granted for all callers. The affected CPE is cpe:2.3:a:zoneminder:zoneminder:*:*:*:*:*:*:*:* covering all versions through 1.39.17 per EUVD-2026-56026.
RemediationAI
No vendor-released patched version has been independently confirmed at time of analysis. Administrators should monitor https://github.com/ZoneMinder/zoneminder for a tagged release that addresses this filter permission bypass. As an immediate compensating control, audit and reduce all ZoneMinder user accounts to the minimum necessary set, since any valid account - including low-privilege roles - is sufficient for exploitation. If filter-based OS command execution is not operationally required, disable or restrict that capability within ZoneMinder's configuration to eliminate the exploitable command injection sink; note this may impact automated archiving or alerting workflows. Restrict network access to the ZoneMinder web interface using a VPN, firewall allowlist, or reverse proxy with IP-based access controls, raising the effective barrier from PR:L to requiring network presence. Monitor application and web server logs for unexpected filter creation, modification, or execution events as a detection measure while a patch is pending.
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
Same weakness CWE-78 – OS Command Injection
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-56026
GHSA-9h33-vcjj-9j5m