v1.1.2
thevoiceguy/siphon-aiv1.1.2Sep 28, 2026by wyuc
Upgrading?
AI Summary
A security release addressing Server-Side Request Forgery (SSRF) vulnerabilities by enforcing strict provider transport validation, refusing redirects, and sanitizing error messages to prevent information leakage.
Key Highlights
- Enforced strict provider transport to prevent SSRF attacks on provider URLs.
- Caller-supplied URLs must be validated addresses; redirects are refused.
- Error responses no longer carry provider response bodies or connection details.
- Classroom media generation downloads are now strictly validated for HTTPS and size-bounded.
Breaking Changes
- Caller-supplied URLs that redirect are refused.
- Caller-supplied URLs containing query strings or fragments are refused.
- Loopback/private addresses require `ALLOW_LOCAL_NETWORKS` unless server-configured.
- Provider check errors return fixed messages without response text.
New Features
- Strict provider transport implementation.
- Size-bounded streaming for classroom media downloads.
Full Release Notes
A security release. Server-side requests to provider URLs that a caller can choose now connect only to the addresses that passed validation and refuse redirects, and error responses no longer carry provider response bodies or connection details. Read **Behavior Changes** before upgrading. ## Security - Provider connections: when a provider is not configured on the server, the settings UI can supply its own base URL, endpoint or model. Several routes validated such a URL once and then connected with a transport that resolved DNS again or followed redirects: PDF parsing and connectivity checks, the Azure voice list, model listing, image and video providers, and LLM calls. Some of these routes also echoed provider response bodies or connection errors back to the caller. This allowed requests to internal addresses and probing of internal services. These requests now go through the strict provider transport, which pins every connection to validated addresses and refuses redirects. IP-literal hosts and the built-in default URLs of unmanaged providers are held to the same policy. Caller-facing errors are fixed text. Client-supplied AliDocMind endpoints must be official hosts. [GHSA-g87c-cm4q-cw5x](https://github.com/THU-MAIC/OpenMAIC/security/advisories/GHSA-g87c-cm4q-cw5x) [#1704](https://github.com/THU-MAIC/OpenMAIC/pull/1704) - Classroom media generation downloads provider-returned image and video URLs through the strict provider transport: HTTPS public addresses only, `data:` URLs decoded locally, and size bounded while streaming [#1692](https://github.com/THU-MAIC/OpenMAIC/pull/1692) (by @Yi-111-a). Agent-runtime image and video tools now do the same [#1704](https://github.com/THU-MAIC/OpenMAIC/pull/1704). ## Behavior Changes - A caller-supplied LLM, image/video, model-list, PDF-check or self-hosted MinerU base URL that answers with a redirect is refused instead of followed. Configure the final URL. - A caller-supplied provider base URL containing a query string or fragment is refused. - A caller-chosen loopback or private address, including an IP literal or an unmanaged provider's built-in `localhost` default (Ollama, Lemonade, VoxCPM), needs `ALLOW_LOCAL_NETWORKS`. Configure the provider on the server to keep it operator-managed. - Server-configured providers (LLM, image/video, TTS/ASR, MinerU, MinerU Cloud) may use local network addresses without `ALLOW_LOCAL_NETWORKS`. Cloud metadata and reserved ranges stay blocked, and redirects from them follow `ALLOW_LOCAL_NETWORKS`. - A client-supplied AliDocMind endpoint must be an official `docmind-api.<region>.aliyuncs.com` host over HTTPS; other endpoints answer `403 INVALID_URL`. Server-configured endpoints are unchanged. - Provider check and generation errors are fixed messages without the provider's response text or connection errors: - `/api/verify-pdf-provider` success no longer includes `status`; - `/api/azure-voices` answers provider failures with `502`; - `/api/provider/probe-models` reports other HTTP failures as `502` with the status class only; - LLM errors for a client-selected endpoint read `Cannot connect to API: connection failed` (or `request timed out`, `redirects are not allowed`) or the HTTP reason phrase; - MinerU Cloud errors report the HTTP status or numeric code. - Agent-runtime video and poster downloads require HTTPS. - Pinned provider requests connect directly and do not use Node's environment proxy (`NODE_USE_ENV_PROXY` with `HTTP_PROXY`/`HTTPS_PROXY`). - A provider id that names an inherited object property (such as `constructor`) is no longer treated as server-configured.
Related Repositories
A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io
An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.
Build smaller, faster, and more secure desktop and mobile applications with a web frontend.
π RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.
Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one