Description
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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| ZoneMinder | ZoneMinder | ≤ 1.39.17 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | zoneminder | No fix yet | — |
| Debian 13 | zoneminder | No fix yet | — |
| Debian 12 | zoneminder | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | zoneminder | No fix yet | — |
| Ubuntu 26.04 LTS | zoneminder | No fix yet | — |
| Ubuntu 24.04 LTS | zoneminder | No fix yet | — |
Show 3 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Pro 22.04 LTS | zoneminder | No fix yet | — |
| Ubuntu Pro 20.04 LTS | zoneminder | No fix yet | — |
| Ubuntu Pro 16.04 LTS | zoneminder | No fix yet | — |