solyanviktor-star
a061788d43
security(providers): strip credential headers on cross-host redirects in fetch_models
...
fetch_models() sends Authorization: Bearer <api_key> plus any
default_headers (x-api-key etc.) via urllib.request.urlopen, and
urllib's redirect handler forwards every header when following a
3xx — including to a different host. A catalog endpoint (or a
compromised/misconfigured proxy in front of it) answering with a
redirect to another origin therefore received the provider API key.
Install an HTTPRedirectHandler that drops authorization, x-api-key,
api-key, x-goog-api-key and cookie when the redirect target hostname
differs from the original request, mirroring the pattern already used
in skills/creative/comfyui/scripts/_common.py. Same-host redirects
keep credentials so legitimate path-level redirects still work.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-11 12:28:55 +05:30
..
2026-07-10 19:14:06 +05:30
2026-07-11 12:09:27 +05:30
2026-06-23 10:32:27 -07:00
2026-07-09 03:21:54 +05:30
2026-07-05 14:48:20 -07:00
2026-07-11 11:07:34 +05:30
2026-07-07 18:33:28 +10:00
2026-07-05 13:42:46 -07:00
2026-07-07 04:28:12 -07:00
2026-07-11 11:13:50 +05:30
2026-07-10 17:50:43 +05:30
2026-07-07 12:36:41 -07:00
2026-06-22 19:16:47 -05:00
2026-07-05 13:42:46 -07:00
2026-07-01 03:16:13 -07:00
2026-06-24 18:53:49 +05:30
2026-07-09 18:17:40 -07:00
2026-07-11 12:28:55 +05:30
2026-07-11 12:09:27 +05:30
2026-06-27 15:59:00 -07:00
2026-07-06 04:58:07 -07:00
2026-07-03 15:21:04 -04:00
2026-07-05 13:42:46 -07:00
2026-07-10 19:14:06 +05:30
2026-07-10 07:47:10 -07:00
2026-07-09 20:03:11 -07:00
2026-06-15 11:55:02 -04:00
2026-07-03 14:27:34 +10:00
2026-07-06 03:28:30 -07:00
2026-07-01 16:21:39 +05:30
2026-07-06 04:58:07 -07:00
2026-06-24 04:16:54 +05:30
2026-07-05 00:44:15 -07:00
2026-06-19 18:06:38 -04:00
2026-06-21 12:09:16 -07:00
2026-07-08 16:24:16 -07:00
2026-06-14 00:27:59 -04:00
2026-06-10 17:37:34 -07:00
2026-07-06 04:58:07 -07:00
2026-07-06 04:58:07 -07:00
2026-06-28 15:38:39 -07:00
2026-06-27 15:59:00 -07:00
2026-07-04 14:19:44 +05:30
2026-07-05 11:44:53 +05:30
2026-07-09 01:36:46 +05:30
2026-06-30 20:11:01 +07:00
2026-06-25 23:49:11 -07:00
2026-06-18 22:11:35 +05:30
2026-07-07 21:17:34 +07:00
2026-06-23 21:33:08 -07:00
2026-06-18 16:26:34 +07:00
2026-07-05 19:35:30 -07:00
2026-06-28 03:58:01 -07:00
2026-06-18 14:14:41 +10:00
2026-06-26 20:10:20 +05:30
2026-06-25 23:49:11 -07:00
2026-06-24 23:51:31 +05:30
2026-07-05 14:01:03 -07:00
2026-06-09 23:22:10 -07:00
2026-07-05 14:51:49 -07:00
2026-06-28 22:52:59 -07:00
2026-07-06 04:58:07 -07:00
2026-07-01 03:17:48 -07:00
2026-07-01 02:51:45 -07:00
2026-06-30 15:30:06 -07:00
2026-06-29 00:25:36 -07:00
2026-07-07 15:15:37 -07:00
2026-07-07 15:15:37 -07:00
2026-07-07 11:57:01 +05:30
2026-06-27 22:43:26 -07:00
2026-06-26 19:15:18 -07:00
2026-06-24 04:16:54 +05:30
2026-06-25 21:18:41 -07:00
2026-06-14 03:20:21 -07:00
2026-07-05 13:40:21 -07:00
2026-06-28 02:35:01 -07:00
2026-06-25 12:29:49 -05:00
2026-07-10 07:58:12 -07:00
2026-06-28 04:14:12 -07:00
2026-06-18 05:41:23 -07:00
2026-07-03 03:33:22 +05:30
2026-06-30 01:35:55 -05:00
2026-06-25 23:27:44 +05:30
2026-07-08 08:05:45 -07:00
2026-07-05 00:41:34 -07:00