mirror of
https://github.com/ZoneMinder/zoneminder.git
synced 2026-10-12 23:03:52 -04:00
After saving a zone, actions/zone.php redirected to the REFERER the zone form posted, which the form fills from the Referer its page was loaded with. A zone editor who reached the zone page through a link on another site was sent to that site after saving: an open redirect, usable to lead someone from a trusted ZoneMinder page to a look-alike login. Forging the POST itself is blocked by the CSRF token, so it needs an editor who followed such a link. localRedirectUrl() returns the target only if it is a query-only URL or an absolute http(s) URL on the host and port of the current request, and the fallback otherwise: another host, //host, backslashes, user@host, other schemes and control characters all give the fallback. The zone save falls back to the zones list, as it already does with no Referer (#5207). tests/php/test_local_redirect_url.php covers 21 cases. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Modern ZoneMinder Skin
This web frontend to ZoneMinder is a complete rewrite of the classic frontend, based on CakePHP.