Isaac Connor and Claude Opus 5.5
e99a0531a1
fix: replace and refuse the shipped ZM_AUTH_HASH_SECRET refs GHSA-wmcc-x64g-jr84 GHSA-p2c6-jw8f-ffjc
...
ZM_AUTH_HASH_SECRET signs the JWT access and refresh tokens, and its
default is a fixed string in the public source. Nothing generated a
per-install value and tokens signed with the default verified normally,
so on an install with auth on and the secret untouched anyone could sign
an admin token and be accepted by the web UI, the API and zms.
- ZoneMinder::Config::saveConfigToDB() now replaces an empty or default
secret with 32 random bytes from /dev/urandom, hex encoded. Package
installs and upgrades run zmupdate.pl -f, which saves the config, so
existing installs get a secret on upgrade. A secret the admin set is
left alone.
- validateToken() in PHP and zmLoadTokenUser() in C++ refuse to verify
tokens while the secret is empty or the default, and the API refuses to
issue them, as it already did for an empty secret.
- zmLoadTokenUser() no longer writes the signing key to the debug log.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-09-28 19:47:22 -04:00
..
2024-03-26 13:43:58 -05:00
2026-09-16 05:00:44 +10:00
2013-03-17 00:45:21 +01:00
2026-02-04 20:44:17 -05:00
2024-10-26 14:29:40 -04:00
2026-09-20 18:17:44 -05:00
2026-09-20 18:17:44 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2026-02-02 20:34:33 -05:00
2026-06-02 21:39:16 -04:00
2026-05-03 12:24:43 -04:00
2026-09-16 05:00:44 +10:00
2026-09-16 05:00:44 +10:00
2026-02-23 18:19:20 -05:00
2026-09-16 05:12:43 +10:00
2026-09-16 05:00:44 +10:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2021-06-06 19:11:11 +02:00
2021-05-30 22:56:21 +02:00
2021-05-30 22:56:21 +02:00
2026-09-04 07:15:30 -04:00
2026-09-04 07:15:30 -04:00
2026-05-14 07:38:58 -04:00
2024-10-26 14:29:40 -04:00
2021-05-16 16:42:58 +02:00
2026-07-21 18:01:05 -04:00
2026-07-21 18:01:05 -04:00
2026-09-20 18:17:43 -05:00
2026-08-18 06:31:14 +05:30
2026-09-24 23:16:11 -04:00
2026-06-18 17:45:12 -04:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2026-08-08 11:56:43 -04:00
2026-07-01 10:08:58 -04:00
2026-07-19 11:26:03 -04:00
2025-09-22 09:52:25 -04:00
2026-02-03 11:03:17 -05:00
2024-03-26 13:43:58 -05:00
2026-08-05 17:44:37 -04:00
2026-08-05 17:44:37 -04:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2026-02-03 11:36:53 -05:00
2024-03-26 13:43:58 -05:00
2026-09-16 05:02:24 +10:00
2026-09-16 05:02:24 +10:00
2026-09-28 19:44:57 -04:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2021-05-30 21:41:58 +02:00
2026-09-20 18:17:43 -05:00
2026-09-20 18:17:43 -05:00
2026-03-09 15:07:14 -04:00
2026-03-09 15:07:14 -04:00
2026-02-03 11:42:14 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2026-09-28 19:44:57 -04:00
2026-09-22 09:57:19 -04:00
2025-07-19 14:18:32 -04:00
2025-07-19 14:18:32 -04:00
2026-08-08 11:56:43 -04:00
2026-06-18 07:54:15 +10:00
2026-06-18 07:54:15 +10:00
2024-03-26 13:43:58 -05:00
2021-05-16 19:41:45 +02:00
2026-08-05 17:44:37 -04:00
2026-01-29 18:50:42 -05:00
2026-08-22 15:30:46 -04:00
2026-08-22 15:30:46 -04:00
2024-03-26 13:43:58 -05:00
2026-03-05 02:13:59 +00:00
2026-08-29 14:01:25 -04:00
2026-08-29 14:01:25 -04:00
2026-06-01 16:31:25 -04:00
2026-09-10 11:26:47 -04:00
2026-09-04 06:53:51 -04:00
2026-03-09 15:07:14 -04:00
2026-03-09 15:07:14 -04:00
2026-03-05 02:13:59 +00:00
2026-09-23 18:17:50 -04:00
2026-09-23 18:17:50 -04:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2026-09-12 12:44:55 -04:00
2026-08-16 16:46:47 +05:30
2026-05-26 23:03:33 -04:00
2026-03-05 02:15:08 +00:00
2026-02-02 20:53:00 -05:00
2024-10-29 13:30:29 -04:00
2026-06-13 09:35:40 -04:00
2026-02-15 15:38:07 -05:00
2026-06-01 11:54:32 -04:00
2026-06-01 11:54:32 -04:00
2026-06-06 11:49:30 -04:00
2026-02-03 12:13:29 -05:00
2022-01-06 16:45:15 -06:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2025-02-26 21:04:32 +11:00
2025-02-26 21:04:32 +11:00
2026-07-26 20:30:42 -04:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2026-05-31 09:22:09 -04:00
2024-03-26 13:43:58 -05:00
2026-02-03 12:25:21 -05:00
2024-03-26 13:43:58 -05:00
2026-05-03 12:24:43 -04:00
2026-02-03 12:34:21 -05:00
2024-03-26 13:43:58 -05:00
2026-02-03 12:45:56 -05:00
2024-03-26 13:43:58 -05:00
2026-08-26 11:23:11 +05:30
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2026-01-09 11:43:15 -05:00
2024-03-26 13:43:58 -05:00
2026-09-23 15:07:15 +10:00
2026-09-16 05:02:23 +10:00
2026-09-16 05:02:23 +10:00
2026-09-16 05:02:23 +10:00
2026-09-16 05:02:23 +10:00
2026-09-16 05:02:23 +10:00
2026-09-16 05:02:23 +10:00
2026-09-16 05:02:23 +10:00
2026-09-16 05:02:23 +10:00
2026-09-19 23:00:24 +00:00
2026-09-19 23:00:24 +00:00
2026-09-16 05:02:23 +10:00
2026-09-16 05:02:23 +10:00
2026-09-23 15:07:15 +10:00
2026-09-24 19:48:40 -04:00
2024-03-26 13:43:58 -05:00
2026-07-26 22:45:00 -04:00
2024-03-26 13:43:58 -05:00
2023-01-18 16:01:42 -05:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2026-09-12 15:19:25 +10:00
2026-06-14 19:11:51 -04:00
2026-02-03 12:30:06 -05:00
2024-03-26 13:43:58 -05:00
2026-09-23 15:07:15 +10:00
2026-09-19 23:00:03 +00:00
2026-09-19 23:00:03 +00:00
2026-09-20 00:36:35 +00:00
2026-09-23 15:07:15 +10:00
2026-09-23 15:07:15 +10:00
2026-08-26 18:22:39 +05:30
2026-08-26 18:22:39 +05:30
2026-08-05 17:44:37 -04:00
2026-06-13 10:19:09 +10:00
2026-09-06 00:46:43 +05:30
2025-07-05 08:09:09 -04:00
2026-06-03 08:42:10 -04:00
2026-09-19 23:00:14 +00:00
2024-03-26 13:43:58 -05:00
2024-03-26 13:43:58 -05:00
2026-09-28 19:47:22 -04:00
2026-03-09 15:07:14 -04:00
2026-09-24 19:51:27 -04:00
2026-09-24 19:51:27 -04:00
2024-03-26 13:43:58 -05:00
2026-09-07 12:20:44 -04:00
2026-09-07 12:02:31 -04:00
2026-02-07 22:52:15 -05:00
2026-09-22 09:57:19 -04:00
2026-09-22 09:57:19 -04:00
2026-01-05 16:36:36 -05:00
2026-01-05 16:36:36 -05:00
2026-09-24 23:16:11 -04:00
2024-03-26 13:43:58 -05:00
2026-09-19 23:00:14 +00:00
2026-09-28 19:44:57 -04:00
2025-12-31 22:29:37 +11:00