$ the-wire · showcase
Open WebUI 0.9.5 ships with security hardening across image URLs, tool permissions, and iframe CSP
By RepoJournal · Filed · About Open WebUI
Open WebUI released 0.9.5 [ref:4] alongside three security-focused changes that tighten URL validation, align tool update permissions, and introduce a configurable iframe content security policy.
Open WebUI 0.9.5 is out [1]. Alongside the release, three changes harden security where user and untrusted content touches the server. The image router's get_image_data() now calls validate_url() before fetching the URL returned by the configured image generation API, matching the existing gate in load_url_image() [2]. This closes a vector where a malicious or misconfigured image API response could point the server at an arbitrary URL.
Tool content updates now require workspace.tools permission, aligning update_tools_by_id with the create endpoint [3]. Previously, a write grant on the tool was enough; now a user with tool-level write access but without workspace.tools permission cannot edit the tool's content, even if they could before. This is a breaking change for metadata-collaboration workflows.
A new IFRAME_CSP environment variable injects a Content-Security-Policy <meta> tag into all srcdoc iframes rendering untrusted content: artifacts, FullHeightIframe, FilePreview, and CitationModal [4]. The shared utility in src/lib/utils/csp.ts performs HTML-safe attribute escaping. Finally, the per-id model endpoint now strips the params dict for read-only callers, closing a gap where the admin-curated system prompt and behavior config were exposed to any read-access caller [5].
Action items
- → Review tool-sharing workflows: users with only a write grant can no longer update tool content unless they have workspace.tools permission open-webui/open-webui [immediate]
- → Set IFRAME_CSP in production to restrict content in srcdoc iframes (artifacts, file previews, citations) open-webui/open-webui [plan]
- → Upgrade to 0.9.5 to get URL validation and model-param stripping fixes open-webui/open-webui [plan]
References
- [1] 0.9.5 ↗ open-webui/open-webui
- [2] chore: add validate_url() to get_image_data() for cohort consistency hardening (#24518) ↗ open-webui/open-webui
- [3] fix: gate tool content updates behind workspace.tools to match create endpoint (#24513) ↗ open-webui/open-webui
- [4] feat: add IFRAME_CSP env var for srcdoc iframe content security policy ↗ open-webui/open-webui
- [5] fix: strip model params for read-only callers on per-id endpoint (#24525) ↗ open-webui/open-webui