v1.1.4
QwenLM/Qwen-MM-Pluginsv1.1.4Oct 11, 2026by wyuc
Upgrading?
AI Summary
This security release addresses critical vulnerabilities in model authorization and render job isolation. It introduces strict model authorization for server-managed providers and binds render jobs to the requesting owner to prevent unauthorized access. Legacy media serving is also revoked upon course deletion.
Key Highlights
- Providers using server credentials now authorize the selected model before accessing services like chat, generation, and media.
- Render jobs are strictly bound to the requesting owner to prevent unauthorized media generation.
- Legacy classroom media URLs are revoked when their associated courses are deleted.
- Upgrade the render-service instances together with or before the app to ensure mixed service versions fail closed.
Breaking Changes
- Server-managed model authorization now requires explicit configuration of `*_MODELS` or provider YAML `models` lists.
- Without an explicit model list, only the `DEFAULT_MODEL` is authorized for server-managed providers.
- Model selection capabilities for unlisted models will fail authorization for providers using server credentials.
- Qwen clone voice mapping now requires the final clone target to be included in the TTS model list.
New Features
- Enforcement of model authorization for server-managed providers across chat, generation, media, and search.
- Implementation of owner-bound job namespaces for render services to isolate user jobs.
- Private caching with revalidation for media responses to prevent unauthorized access to deleted course content.
- Fail-closed behavior for lifecycle lookup failures in media serving.
Full Release Notes
A security release. Providers that use server credentials only send models the deployment authorizes, render jobs are bound to the requesting owner, and deleted courses stop serving their legacy media. Read **Breaking change** before upgrading, and upgrade the render-service together with or before the app. The same fixes ship in [v1.2.0-rc.2](https://github.com/THU-MAIC/OpenMAIC/releases/tag/v1.2.0-rc.2). Thanks to @13ob0 and @Duang777 for the reports. ### Advisories - [GHSA-r2xp-m5r2-g7xj](https://github.com/THU-MAIC/OpenMAIC/security/advisories/GHSA-r2xp-m5r2-g7xj) (High): missing model authorization for server-managed provider credentials. Reported by @13ob0. - [GHSA-x3gm-gw9m-94h9](https://github.com/THU-MAIC/OpenMAIC/security/advisories/GHSA-x3gm-gw9m-94h9) (Medium): MP4 render jobs not bound to the requesting owner. Reported by @Duang777. - [GHSA-6jrw-cp5x-j8jc](https://github.com/THU-MAIC/OpenMAIC/security/advisories/GHSA-6jrw-cp5x-j8jc) (Low): deleted courses did not revoke legacy classroom media URLs. Reported by @Duang777. ### Security - Render jobs are bound to the requesting owner. Upgrade every render-service instance (or drain old instances) together with or before the app. Mixed service versions fail closed through a dedicated owner-bound job namespace. - Legacy classroom media stops being served when its course is deleted. Media responses use private caching with revalidation, and lifecycle lookup failures fail closed. - Providers using server credentials now authorize the selected model before provider access across chat, generation, media, voice, transcription, search and connection tests. Model authorization refusals return the same HTTP 403 `PROVIDER_DISABLED` response. Users' own credentials and keyless providers are unaffected. ### Breaking change: server-managed model authorization - Configure `*_MODELS` or each provider's YAML `models` list. Without a list, chat authorizes only `DEFAULT_MODEL` and operator `MODEL_ROUTES` references; other model-selecting capabilities authorize only their single default. Preset catalogues do not grant access. Services without model selection need no list. - With an explicit list, TTS, ASR, image, video and Claude web search use a listed client choice or substitute the first listed model for an unlisted or missing choice. Speech preview, narration and transcription send catalogue defaults on the 1.1.x client: put the desired pinned model first, without needing to list the client default. Unlisted models never reach the provider with server credentials. - Qwen clone voices map the built-in clone sentinel to the configured `TTS_QWEN_VOICE_CLONE_MODEL` before authorization. Include the final clone target in the TTS model list; the override alone does not authorize it. - Migration: list all selectable model ids, including voice compatibility models, restart the server, and update saved chat selections and capability selections without explicit lists outside the authorized set. Startup warnings identify credentialed model-selecting providers without a list. Give a gateway that adds upstream credentials a key and a model list, or restrict models in the gateway itself.
Related Repositories
public-apis/public-apis★ 491,196
A collective list of free APIs
NousResearch/hermes-agent★ 256,050
The agent that grows with you
yt-dlp/yt-dlp★ 200,229
A feature-rich command-line audio/video downloader
microsoft/markitdown★ 191,546
Python tool for converting files and office documents to Markdown.
Significant-Gravitas/AutoGPT★ 187,699
AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.