v2026.09.08
gohugoio/hugov2026.09.08Sep 8, 2026by knu
Upgrading?
AI Summary
A critical security release addressing XSS vulnerabilities, unauthorized file access, and origin spoofing issues, alongside hardening deployment defaults and retiring legacy agents.
Key Highlights
- Fixed critical security issues: HTML injection in Scenarios, unauthorized file reading, and web request origin spoofing.
- Added Content-Security-Policy sandbox headers to web request responses.
- Docker configurations now generate random secrets instead of shipping fixed ones.
- TwitterStreamAgent has been retired due to API shutdown.
Breaking Changes
- Web request route CSP changes: Pages calling Huginn's own API from within a served page will stop working.
- TwitterStreamAgent is retired and cannot be used.
Full Release Notes
This security release fixes three issues: - A Scenario description containing HTML could execute script in the browser of a user importing the Scenario, both in the import preview and after the import. Scenario icons were likewise stored without validation. - Any authenticated user could read any file readable by the Huginn process by handing a file pointer to a file-consuming Agent, even with `ENABLE_INSECURE_AGENTS` disabled. Reading `.env` exposes `APP_SECRET_TOKEN`, which allows forging an administrator session. - Pages served by LiquidOutputAgent, DataOutputAgent and other web request handlers ran on Huginn's own origin, so a page authored by one user could act on Huginn as another user viewing it. The file-read issue affects installations where untrusted users have accounts. Operators of such installations should rotate `APP_SECRET_TOKEN` and any other secrets stored in `.env` after upgrading, since a secret leaked before the fix remains usable. The Scenario import issue affects anyone importing a Scenario from an untrusted source. The web request issue affects multi-user installations. Operators should upgrade promptly. Responses from the web request route now carry `Content-Security-Policy: sandbox allow-scripts allow-forms allow-popups`. Pages that relied on calling Huginn's own API from within a served page will stop working. This release also hardens deployment defaults: - The Docker configurations no longer ship a fixed `APP_SECRET_TOKEN`. A random one is generated on container start unless `APP_SECRET_TOKEN` is set; set it to a value of your own to keep sessions valid across container restarts. Deployments still supplying the previously shipped value get a warning and a generated secret instead. - `rake db:seed` generates a random admin password and prints it once unless `SEED_PASSWORD` is set. - DataOutputAgent and LiquidOutputAgent get a random default secret. - Devise paranoid mode is enabled, so the password reset, unlock and confirmation forms no longer reveal whether an account exists. - TwitterStreamAgent is retired, as the Twitter streaming API it depended on was shut down in 2023. Existing Agents remain loadable but new ones cannot be created. Full details: - https://github.com/huginn/huginn/security/advisories/GHSA-x738-j22q-h2jw - https://github.com/huginn/huginn/security/advisories/GHSA-p347-7m45-694r - https://github.com/huginn/huginn/security/advisories/GHSA-p748-5grc-mcf5 **Full Changelog**: https://github.com/huginn/huginn/compare/v2026.08.27...v2026.09.08
Related Repositories
ollama/ollama★ 184,242
Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other models.
fatedier/frp★ 110,065
A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
infiniflow/ragflow★ 92,634
RAGFlow is a leading open-source Retrieval-Augmented Generation (RAG) engine that fuses cutting-edge RAG with Agent capabilities to create a superior context layer for LLMs
junegunn/fzf★ 83,714
:cherry_blossom: A command-line fuzzy finder
caddyserver/caddy★ 78,251
Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS