SleuthCo.AI
fe609c0c77
security(hooks): block prototype-chain traversal in webhook template getByPath ( #22213 )
...
* security(hooks): block prototype-chain traversal in webhook template getByPath
The getByPath() function in hooks-mapping.ts traverses attacker-controlled
webhook payload data using arbitrary property path expressions, but does not
filter dangerous property names (__proto__, constructor, prototype).
The config-paths module (config-paths.ts) already blocks these exact keys
for config path traversal via a BLOCKED_KEYS set, but the hooks template
system was not protected with the same guard.
Add a BLOCKED_PATH_KEYS set mirroring config-paths.ts and reject traversal
into __proto__, prototype, or constructor in getByPath(). Add three test
cases covering all three blocked keys.
Signed-off-by: Alan Ross <alan@sleuthco.ai >
* test(gateway): narrow hook action type in prototype-pollution tests
* changelog: credit hooks prototype-path guard in PR 22213
* changelog: move hooks prototype-path fix into security section
---------
Signed-off-by: Alan Ross <alan@sleuthco.ai >
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-02-21 03:01:03 -05:00
..
2026-02-20 20:09:03 -06:00
2026-02-20 17:34:34 +00:00
2026-02-20 20:38:56 -08:00
2026-02-15 19:08:47 +00:00
2026-02-18 01:34:35 +00:00
2026-02-19 02:35:50 -05:00
2026-02-19 02:35:50 -05:00
2026-02-19 15:19:38 +00:00
2026-02-19 00:58:56 -05:00
2026-02-20 13:08:26 -08:00
2026-02-20 13:08:26 -08:00
2026-02-19 15:51:22 +01:00
2026-02-18 22:39:57 +00:00
2026-02-18 01:34:35 +00:00
2026-02-15 16:55:28 -08:00
2026-02-15 16:55:28 -08:00
2026-02-17 14:31:02 +09:00
2026-02-16 14:59:31 +00:00
2026-02-20 23:52:43 -05:00
2026-02-20 23:52:43 -05:00
2026-02-20 18:21:13 +00:00
2026-02-20 18:21:13 +00:00
2026-02-18 01:34:35 +00:00
2026-02-18 01:34:35 +00:00
2026-02-19 14:30:15 +01:00
2026-02-19 14:30:15 +01:00
2026-02-16 03:50:39 +01:00
2026-02-16 03:50:39 +01:00
2026-02-16 03:50:39 +01:00
2026-02-18 01:34:35 +00:00
2026-02-20 17:41:57 +00:00
2026-02-19 10:00:41 +01:00
2026-02-19 09:22:16 +00:00
2026-02-15 18:06:48 +00:00
2026-02-20 17:41:57 +00:00
2026-02-19 09:22:16 +00:00
2026-02-19 09:22:16 +00:00
2026-02-21 03:01:03 -05:00
2026-02-21 03:01:03 -05:00
2026-02-16 14:59:31 +00:00
2026-02-18 01:34:35 +00:00
2026-02-19 03:28:24 -08:00
2026-02-18 01:34:35 +00:00
2026-02-19 15:29:23 +01:00
2026-02-19 15:29:23 +01:00
2026-02-21 00:48:22 -05:00
2026-02-21 01:23:21 -05:00
2026-02-18 01:34:35 +00:00
2026-02-18 01:34:35 +00:00
2026-02-19 09:22:16 +00:00
2026-02-18 18:54:22 +00:00
2026-02-19 09:22:16 +00:00
2026-02-18 01:34:35 +00:00
2026-02-15 16:15:53 +00:00
2026-02-20 05:12:05 +00:00
2026-02-20 05:12:05 +00:00
2026-02-18 01:34:35 +00:00
2026-02-18 22:11:56 +00:00
2026-02-18 01:34:35 +00:00
2026-02-20 20:23:28 -08:00
2026-02-20 20:23:28 -08:00
2026-02-18 01:34:35 +00:00
2026-02-16 16:42:28 +00:00
2026-02-18 04:48:08 +01:00
2026-02-18 04:48:08 +01:00
2026-02-19 15:51:22 +01:00
2026-02-18 01:34:35 +00:00
2026-02-18 01:34:35 +00:00
2026-02-19 10:00:41 +01:00
2026-02-19 13:32:58 +00:00
2026-02-20 17:48:44 +00:00
2026-02-18 01:34:35 +00:00
2026-02-18 19:32:42 +00:00
2026-02-17 15:50:07 +09:00
2026-02-18 01:34:35 +00:00
2026-02-19 10:00:41 +01:00
2026-02-16 00:18:26 +00:00
2026-02-18 18:25:25 +00:00
2026-02-20 18:03:53 +00:00
2026-02-20 18:03:53 +00:00
2026-02-18 01:34:35 +00:00
2026-02-18 01:34:35 +00:00
2026-02-20 19:41:51 -08:00
2026-02-20 19:41:51 -08:00
2026-02-18 17:48:02 +00:00
2026-02-18 01:34:35 +00:00
2026-02-19 15:08:54 +00:00
2026-02-20 20:38:56 -08:00
2026-02-20 17:48:44 +00:00
2026-02-19 15:08:54 +00:00
2026-02-19 15:08:54 +00:00
2026-02-20 23:52:43 -05:00
2026-02-17 12:00:29 +09:00
2026-02-19 08:25:12 +00:00
2026-02-16 08:24:55 -05:00
2026-02-17 11:40:04 -08:00
2026-02-16 14:59:31 +00:00
2026-02-15 23:56:57 +00:00
2026-02-17 10:57:31 +09:00
2026-02-17 11:22:49 +09:00
2026-02-19 10:00:41 +01:00
2026-02-15 23:07:50 +00:00
2026-02-18 01:34:35 +00:00
2026-02-18 22:09:48 +00:00
2026-02-16 14:59:31 +00:00
2026-02-15 23:02:27 +00:00
2026-02-20 17:48:44 +00:00
2026-02-17 14:31:02 +09:00
2026-02-19 01:54:02 -08:00
2026-02-16 14:59:31 +00:00
2026-02-16 14:59:31 +00:00
2026-02-18 17:01:22 +00:00
2026-02-18 17:01:22 +00:00
2026-02-18 18:35:04 +00:00
2026-02-17 23:59:20 -05:00
2026-02-17 23:59:20 -05:00
2026-02-18 05:30:59 +00:00
2026-02-17 23:59:20 -05:00
2026-02-19 02:48:08 -08:00
2026-02-19 02:48:08 -08:00
2026-02-19 09:22:16 +00:00
2026-02-16 14:59:31 +00:00
2026-02-18 16:25:59 -05:00
2026-02-19 15:08:54 +00:00
2026-02-16 14:59:31 +00:00
2026-02-16 14:59:31 +00:00
2026-02-16 14:59:31 +00:00
2026-02-16 14:59:31 +00:00
2026-02-18 04:49:22 +00:00
2026-02-18 01:34:35 +00:00
2026-02-16 14:59:31 +00:00