Missing Authorization in ZoneMinder - #VU158942
Published: November 3, 2026
Vulnerability details
The vulnerability allows a remote user to modify the retention-protection state of arbitrary recorded events, including events belonging to monitors outside their authorized scope.
The vulnerability exists due to missing authorization checks in ZoneMinder's EventsController::archive() action when handling event archive requests. A remote user can send GET requests to /zm/api/events/archive/<id>.json with chosen numeric event identifiers using read-only Events = View permission to toggle the Archived flag without Events = Edit permission or per-monitor authorization, making preserved recordings eligible for automatic deletion or protecting arbitrary recordings from automatic purging.