Alix-007
bf5c9d1748
fix(feishu): bound Feishu API JSON response reads to prevent OOM ( #97782 )
...
* fix(feishu): bound Feishu API JSON response reads to prevent OOM
Replace the bare `response.json()` in `fetchFeishuJson`
(`extensions/feishu/src/app-registration.ts`) with a `readResponseWithLimit`
call capped at 16 MiB. A misconfigured or adversarial Feishu endpoint that
streams an unbounded body previously had no defence; the bounded reader now
cancels the stream at the cap and throws a labelled `feishu.api` error.
Tests: over-cap (32 MiB stream, no Content-Length — stream cancelled, error
matches feishu.api), under-cap (chunked valid JSON — parsed and returned),
and malformed-JSON (labelled feishu.api error). All five tests pass.
* fix(feishu): delegate JSON reads to provider helper
* test(feishu): add real node:http server proof for readProviderJsonResponse bound
* test(feishu): fix lint errors in real HTTP server proof (curly + no-promise-executor-return)
* test(feishu): prove bound reads through SSRF guard
* fix(feishu): satisfy overloaded LookupFn type in hermetic test lookup stub
2026-07-06 01:06:08 -07:00
..
2026-07-04 14:56:50 -04:00
2026-07-05 05:48:35 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-07-04 14:56:50 -04:00
2026-07-06 02:21:00 +01:00
2026-07-06 04:53:09 +01:00
2026-07-04 14:56:50 -04:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-07-02 21:16:26 -07:00
2026-07-02 21:16:26 -07:00
2026-07-06 07:42:02 +01:00
2026-07-04 11:35:55 -07:00
2026-07-04 14:56:50 -04:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-07-06 04:53:09 +01:00
2026-07-05 22:27:27 -07:00
2026-06-30 11:31:08 -07:00
2026-07-06 08:59:20 +01:00
2026-07-04 14:56:50 -04:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-07-06 03:23:38 +01:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-07-06 04:53:09 +01:00
2026-07-05 07:43:43 -07:00
2026-07-04 14:56:50 -04:00
2026-06-30 11:31:08 -07:00
2026-07-06 00:34:17 +01:00
2026-07-06 00:34:17 +01:00
2026-07-06 08:58:58 +01:00
2026-06-30 11:31:08 -07:00
2026-07-02 21:16:26 -07:00
2026-06-30 11:31:08 -07:00
2026-07-02 21:16:26 -07:00
2026-07-01 20:42:25 -07:00
2026-07-06 01:06:08 -07:00
2026-07-04 14:56:50 -04:00
2026-07-04 12:47:10 -07:00
2026-06-30 11:31:08 -07:00
2026-07-06 04:53:09 +01:00
2026-06-30 11:31:08 -07:00
2026-07-06 04:53:09 +01:00
2026-07-05 02:34:08 -04:00
2026-07-04 14:56:50 -04:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-07-05 19:11:58 -07:00
2026-07-01 08:55:41 -07:00
2026-07-05 22:10:59 +01:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-07-05 19:11:58 -07:00
2026-06-30 11:31:08 -07:00
2026-07-04 14:56:50 -04:00
2026-07-04 14:56:50 -04:00
2026-06-30 11:31:08 -07:00
2026-07-04 16:50:44 -07:00
2026-07-05 11:50:44 -07:00
2026-07-05 12:53:06 -07:00
2026-07-05 18:12:51 -07:00
2026-06-30 11:31:08 -07:00
2026-07-06 06:57:41 +00:00
2026-07-04 14:56:50 -04:00
2026-07-05 01:44:56 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-07-04 02:08:35 -07:00
2026-07-04 02:08:35 -07:00
2026-07-06 04:53:09 +01:00
2026-06-30 11:31:08 -07:00
2026-07-02 21:16:26 -07:00
2026-07-04 20:28:52 -04:00
2026-06-30 15:54:12 -07:00
2026-07-04 16:45:07 -07:00
2026-06-30 11:31:08 -07:00
2026-07-02 22:12:53 -07:00
2026-07-04 14:56:50 -04:00
2026-07-06 03:12:49 +01:00
2026-06-30 11:31:08 -07:00
2026-07-06 08:56:20 +01:00
2026-06-30 11:31:08 -07:00
2026-07-01 23:01:46 +08:00
2026-07-06 08:58:58 +01:00
2026-06-30 11:31:08 -07:00
2026-07-02 22:12:53 -07:00
2026-07-02 21:16:26 -07:00
2026-07-04 01:51:03 -07:00
2026-06-30 15:54:12 -07:00
2026-07-05 08:11:38 -07:00
2026-07-05 02:22:11 -07:00
2026-07-06 00:59:59 -07:00
2026-07-04 11:48:18 -07:00
2026-06-30 11:31:08 -07:00
2026-07-05 08:00:23 -04:00
2026-06-30 11:31:08 -07:00
2026-06-30 15:54:12 -07:00
2026-06-30 11:31:08 -07:00
2026-07-02 21:16:26 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-07-06 05:10:57 +01:00
2026-07-05 19:11:58 -07:00
2026-07-05 19:11:58 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-06-29 15:41:26 -07:00
2026-07-04 14:56:50 -04:00
2026-07-06 00:46:37 -07:00
2026-07-06 04:29:48 +00:00
2026-06-24 19:08:22 -05:00
2026-07-06 04:44:33 +01:00
2026-07-03 17:09:30 -07:00
2026-07-02 22:12:53 -07:00
2026-06-30 11:31:08 -07:00
2026-07-04 14:56:50 -04:00
2026-07-06 04:53:09 +01:00
2026-07-01 19:49:38 -07:00
2026-06-30 11:31:08 -07:00
2026-06-30 11:31:08 -07:00
2026-07-06 02:34:22 +01:00
2026-07-04 11:35:55 -07:00
2026-07-06 06:32:50 +00:00
2026-06-30 11:31:08 -07:00
2026-07-04 12:47:10 -07:00
2026-07-04 16:38:13 -07:00
2026-07-05 19:11:58 -07:00
2026-07-06 05:24:58 +01:00
2026-07-05 01:56:40 -04:00
2026-07-06 04:53:09 +01:00
2026-07-06 04:53:09 +01:00
2026-07-05 10:57:19 -07:00
2026-07-04 16:50:44 -07:00
2026-07-05 01:56:40 -04:00