MHSanaei
534afe13ab
fix(sub): treat external subscription providers as untrusted input
...
A client's external subscription is fetched from a third party on every
subscriber refresh, and the fetcher trusted it more than its siblings:
- it dialled any address, redirects included; it now goes through the
SSRF guard like the outbound subscription and remote routing fetchers;
- it forwarded any line containing "://"; it now keeps only server share
links, so app deeplinks and plain URLs never reach the subscriber's app;
- it bounded the body but not the link count (now 1000) or the headers
(now 64 KiB), and stored the raw error, URL included, on every row; the
stored error is now host-only and at most 1 KiB.
The link parser also refuses links that nest JSON past 16 levels, since
the JSON subscription pretty-prints it at quadratic cost, and external
configs are marshalled compactly until the final, single indent pass.
2026-10-31 08:53:27 +00:00
..
2026-09-27 03:04:50 +02:00
2026-09-14 12:10:25 +02:00
2026-09-14 12:10:25 +02:00
2026-06-24 15:25:41 +02:00
2026-10-24 07:10:30 +02:00
2026-10-24 07:10:30 +02:00
2026-10-24 04:21:04 +02:00
2026-09-26 20:31:50 +02:00
2026-10-24 04:21:04 +02:00
2026-10-24 04:21:04 +02:00
2026-10-24 07:10:30 +02:00
2026-10-24 12:33:02 +02:00
2026-07-27 14:37:57 +02:00
2026-07-27 14:37:57 +02:00
2026-10-24 06:08:02 +02:00
2026-10-24 22:45:46 +02:00
2026-09-26 21:13:39 +02:00
2026-09-26 21:13:39 +02:00
2026-07-21 15:52:33 +02:00
2026-09-13 12:53:57 +02:00
2026-10-02 15:44:41 +02:00
2026-09-12 11:12:13 +02:00
2026-10-31 08:53:27 +00:00
2026-10-31 08:53:27 +00:00
2026-10-31 08:53:27 +00:00
2026-10-24 04:21:04 +02:00
2026-09-26 22:00:09 +02:00
2026-10-31 08:53:27 +00:00
2026-10-31 08:53:27 +00:00
2026-09-26 21:13:46 +02:00
2026-07-29 21:01:59 +02:00
2026-09-26 22:03:20 +02:00
2026-09-26 22:03:20 +02:00
2026-10-24 05:13:44 +02:00
2026-10-24 05:13:44 +02:00
2026-10-24 20:07:55 +02:00
2026-10-24 21:05:42 +02:00
2026-10-25 15:54:42 +01:00
2026-10-24 21:05:42 +02:00
2026-09-27 03:04:50 +02:00
2026-10-14 14:42:00 +02:00
2026-10-05 19:05:13 +02:00
2026-09-03 22:32:05 +02:00
2026-09-27 01:06:17 +02:00
2026-09-27 01:06:17 +02:00
2026-09-16 01:55:56 +02:00
2026-09-13 11:51:56 +02:00
2026-09-13 11:51:56 +02:00
2026-09-13 11:51:56 +02:00
2026-10-24 04:21:04 +02:00
2026-09-10 17:05:54 +02:00
2026-09-10 17:05:54 +02:00
2026-09-10 17:05:54 +02:00
2026-09-10 17:05:54 +02:00
2026-10-22 17:10:11 +02:00
2026-10-31 08:53:27 +00:00
2026-10-24 06:36:49 +02:00
2026-09-12 11:12:13 +02:00
2026-10-24 12:33:02 +02:00
2026-10-11 18:02:12 +02:00
2026-09-27 03:04:50 +02:00
2026-07-23 23:57:29 +02:00
2026-09-15 21:13:29 +02:00
2026-09-15 21:13:29 +02:00
2026-09-15 21:13:29 +02:00
2026-08-14 20:13:15 +02:00
2026-09-08 17:14:01 +02:00
2026-10-24 04:21:04 +02:00
2026-10-31 08:32:58 +00:00
2026-09-03 16:35:07 +02:00
2026-10-24 06:36:49 +02:00
2026-09-27 03:04:50 +02:00
2026-10-24 04:21:04 +02:00
2026-10-22 17:10:11 +02:00
2026-09-27 03:04:50 +02:00
2026-09-08 15:36:57 +02:00
2026-09-27 03:04:50 +02:00
2026-06-15 19:31:57 +02:00
2026-10-03 00:31:52 +02:00
2026-09-27 03:04:50 +02:00
2026-10-25 15:54:42 +01:00
2026-10-03 02:56:02 +02:00
2026-09-30 15:03:16 +02:00
2026-09-27 03:04:50 +02:00
2026-10-24 06:36:49 +02:00
2026-10-25 15:54:42 +01:00
2026-10-24 22:45:46 +02:00
2026-10-24 22:45:46 +02:00
2026-09-13 19:58:27 +02:00
2026-09-10 17:05:54 +02:00
2026-09-10 17:05:54 +02:00
2026-08-15 15:22:11 +02:00
2026-09-10 17:05:54 +02:00
2026-10-24 04:21:04 +02:00
2026-09-27 03:04:50 +02:00
2026-10-24 22:45:46 +02:00
2026-10-24 04:21:04 +02:00
2026-06-29 14:32:23 +02:00
2026-06-29 14:32:23 +02:00
2026-09-13 19:58:10 +02:00
2026-10-11 08:21:08 +02:00