mirror of
https://github.com/ZoneMinder/zoneminder.git
synced 2026-11-04 19:52:57 -05:00
getAuthUser() compared the auth= hash a client presents with the one it builds using ==. When both strings look like numbers PHP compares them as numbers, so a computed md5 of the form 0e<digits> equalled any other 0e<digits> string (and "00"), and == also returns at the first byte that differs. hash_equals() compares the bytes in constant time. A hash of that form comes up about once in 3*10^8 user-hours, so this is hardening; ordinary hashes compare exactly as before. 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.