Adolanium
2770f93064
fix(profiles): reject traversal-shaped profile names in get_profile_dir
...
A WS 'profile' param like '../../foo' normalized to a path component that
escaped the profiles root, letting a connected client bind an arbitrary
existing directory as a profile home (state.db opened there, and session
delete chains into per-id file cleanup under <dir>/sessions/).
get_profile_dir now validates the canonical name against the profile id
regex before joining it under profiles/. The regex only, not the reserved
list, so pre-reserved-list dirs like profiles/hermes keep resolving.
Callers that probe existence (profile_exists, _profile_home, the 4064
resolvers) treat ValueError as 'not found'.
2026-09-13 15:45:57 -07:00
..
2026-09-07 16:48:29 -07:00
2026-09-13 09:18:02 -07:00
2026-09-10 10:27:07 -07:00
2026-09-13 05:09:06 -07:00
2026-09-02 06:47:55 -07:00
2026-09-03 14:21:52 -07:00
2026-09-07 06:10:15 -07:00
2026-08-31 09:57:04 -07:00
2026-08-22 17:30:35 +02:00
2026-09-02 14:09:13 -07:00
2026-09-02 01:35:59 -07:00
2026-08-31 12:18:00 -07:00
2026-09-13 19:05:39 +05:30
2026-09-02 23:27:53 -07:00
2026-08-31 04:33:20 -07:00
2026-08-31 21:11:11 -05:00
2026-09-11 19:14:24 -07:00
2026-09-03 03:48:31 +05:30
2026-09-03 14:00:59 -07:00
2026-09-09 12:39:39 +05:30
2026-08-26 13:38:53 -05:00
2026-08-21 23:01:30 -07:00
2026-09-12 07:59:59 -07:00
2026-09-13 09:18:02 -07:00
2026-09-01 16:01:53 -04:00
2026-08-21 15:24:03 -07:00
2026-09-07 08:08:41 -07:00
2026-09-11 03:45:33 +05:30
2026-09-13 05:42:31 -07:00
2026-09-07 00:51:41 -07:00
2026-09-11 06:21:48 -07:00
2026-08-30 22:19:06 -07:00
2026-08-29 18:23:07 -07:00
2026-09-06 07:20:24 -07:00
2026-09-11 19:04:58 -07:00
2026-09-11 19:04:58 -07:00
2026-09-03 03:59:09 -07:00
2026-08-31 01:04:11 -07:00
2026-08-31 01:04:11 -07:00
2026-09-11 19:04:58 -07:00
2026-09-11 19:04:58 -07:00
2026-09-07 05:58:52 -07:00
2026-09-03 13:12:50 -07:00
2026-08-29 18:23:07 -07:00
2026-09-12 22:19:44 -07:00
2026-09-06 20:26:11 +05:30
2026-09-03 13:48:14 -07:00
2026-09-13 15:41:01 -07:00
2026-09-13 09:18:02 -07:00
2026-09-11 02:49:36 -04:00
2026-08-29 17:43:38 -07:00
2026-09-13 05:21:02 -07:00
2026-09-11 19:50:46 -07:00
2026-09-07 06:10:28 -07:00
2026-09-07 06:10:28 -07:00
2026-09-06 13:18:19 -07:00
2026-09-13 14:46:12 -07:00
2026-09-03 13:29:55 -07:00
2026-08-31 20:40:09 -05:00
2026-09-07 22:25:12 -07:00
2026-08-24 03:14:19 -07:00
2026-09-10 05:09:15 -07:00
2026-09-10 08:19:55 -07:00
2026-09-07 06:26:22 -07:00
2026-09-07 04:55:48 -07:00
2026-09-13 15:45:57 -07:00
2026-09-13 14:31:21 -07:00
2026-09-13 05:21:02 -07:00
2026-08-31 20:47:53 -05:00
2026-08-19 19:30:12 -07:00
2026-08-20 21:54:18 -07:00
2026-09-07 06:26:22 -07:00
2026-08-15 02:45:03 -07:00
2026-09-11 11:54:49 -07:00
2026-09-13 05:09:06 -07:00
2026-09-11 11:54:49 -07:00
2026-07-29 13:10:23 -07:00
2026-08-23 04:57:50 -07:00
2026-09-03 13:46:50 -07:00
2026-09-13 09:18:02 -07:00
2026-09-10 18:05:33 +00:00
2026-08-27 02:18:16 -07:00
2026-09-07 00:51:41 -07:00
2026-09-03 13:46:50 -07:00
2026-09-06 09:09:41 -07:00
2026-09-03 13:05:57 -07:00
2026-09-07 04:56:22 -07:00
2026-08-21 06:02:19 +00:00
2026-09-11 06:24:11 -07:00
2026-09-07 22:25:12 -07:00
2026-09-09 02:00:21 -07:00
2026-09-11 11:54:49 -07:00
2026-09-13 09:18:02 -07:00
2026-08-28 02:59:17 -07:00
2026-09-03 13:33:10 -07:00
2026-08-24 15:07:18 +05:30
2026-09-10 10:23:12 -07:00
2026-09-03 15:15:53 -07:00
2026-09-07 11:25:20 -07:00
2026-08-19 11:20:28 -05:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 14:45:41 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-01 23:56:58 -07:00
2026-09-10 10:35:07 -07:00
2026-09-11 19:14:24 -07:00
2026-09-13 09:18:02 -07:00
2026-08-23 18:58:40 -07:00
2026-09-07 07:05:21 -07:00
2026-09-09 14:20:57 -07:00
2026-09-03 03:47:26 +05:30