Sumário Qualquer usuário autenticado com acesso a um servidor terminal pode obter script de sua escolha para executar na própria origem do WebUI Aberto. O arquivo HTML visualiza arquivos terminais prestados em um iframe cujo sandbox sempre concedeu ` allow- same- origin` ao lado de ` allow- scripts`, e o arquivo é servido a partir de um caminho na própria origem do aplicativo, assim que o sandbox não forneceu isolamento em absoluto. O script em um arquivo pré- visualizado pode ler o token de sessão da vítima e assumir a conta. ## Precondições - Pelo menos um servidor terminal configurado por um administrador (`TERMINAL_SERVER_ CONNECTATIONS`, vazio por padrão) e alcançable pela vítima. As implantações sem servidor terminal configurado não são afetadas. - O atacante precisa de uma conta normal autenticada com acesso ao servidor terminal, sem direitos de administração. - Nenhuma interação da vítima além de ter o chat aberto: uma chamada de ferramenta `display_file` abre a visualização automaticamente. - `TERMINAL_ PROXY_HEADERS` desativado, que é o padrão. Um operador que já havia definido uma política restritiva de segurança de conteúdo através dela não foi exposto, uma vez que esses cabeçalhos são fundidos em cada resposta proxima, incluindo o arquivo servido. - A configuração do usuário ` iframeSandboxAlllowSameOrigin` está desativada por padrão, mas o ramo afetado ignorou- o inteiramente.

Impacto O documento pré- visualizado é executado na origem do aplicativo, para que ele possa alcançar a janela pai, ler o token de sessão fora do `localStorage' e exfiltrar- o, que é a tomada completa da conta da vítima. Se a vítima for um administrador, ou qualquer usuário que mantenha `workspace.funtions`, essa tomada de controle se estende à execução de código do lado do servidor através de Funções. A escrita e exibição do arquivo malicioso ainda requer uma injeção rápida ou um passo social, que é o que mantém a complexidade alta em vez de trivial. As instâncias sem servidor terminal configurado nunca foram afetadas, e nem o caminho de visualização `srcdoc`. ## Fixar Fixado em 0.11.0 por 65 a 5 moda 7 b (# 26907 ). O ramo de visualização `serveUrl` agora portais `allow-same- origin` atrás do mesmo `iframeSandboxAllowSameOrigin` configurando o ramo `srcdoc` já usado, por isso, por padrão, as cargas de visualização em uma origem opaca e não podem alcançar o contexto pai. A atualização é suficiente, não é necessária nenhuma mudança de configuração, e as visualizações HTML continuam a ser normalmente apresentadas.

Causa raíz - `src/lib/components/chat/FileNav/FilePreview.svelte`, o ramo iframe `serveUrl`, alcançado para arquivos HTML servidos através de `/api/v 1 /terminals/ {id}/files/ serve/...`. - Presente a partir de 0.9.0, onde aquele ramo foi introduzido, através do 0.10.2. O componente cresceu dois caminhos de pré- visualização. O caminho `srcdoc` foi endurecido: o mesmo- origin tornou- se opt- in e um CSP foi injetado no documento. O caminho `serveUrl`, adicionado posteriormente para arquivos transmitidos a partir de um servidor terminal, manteve uma cadeia estática de sandbox com `llow-same- origin` cozido nele. Como o proxy terminal é montado sob a própria origem do aplicativo e encaminha a resposta a montante sem adicionar uma política de Conteúdo-Segurança própria, a menos que o operador tenha configurado um, e nenhum CSP global seja definido, o sandbox foi o único limite de isolamento que restava, e ele estava concedendo precisamente a permissão que o dissolve.

Prova de conceito Escreva um arquivo HTML contendo um script que lê `window.parent.localStorage.token` para um servidor terminal que a vítima pode alcançar, e então ative `display_file` para esse arquivo. O gestor do chat abre a visualização no evento `terminal:display_file` resultante, sem clique, o script executa na origem do aplicativo, e o token é exfiltrado. ## Créditos reportados pelo @manus- use (pesqueiro zx / Jace).

Registro de aconselhamento: GHSA- 3 xpf-xq 7 r-v 8 c 5. Identificadores relacionados: CVE- 2026 - 70486. Tempo: GitHub Advisory Database publicou este registro em 2026 - 08 - 04 T 20: 02: 03.000 Z e lista a sua última modificação como 2026 - 08 - 04 T 20: 02: 03.000 Z.

Severidade: ALTAMENTE. Dados de pontuação publicados: CVSS_V 3: CVSS: 3.1 /AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:N.

Informações sobre software e versão afetadas: Pacote PyPI open-webui — ECOSISTEM: introduzido 0.9.0, corrigido 0.11.0.

Classificação e evidência: identificadores de fraqueza CWE- 1021, CWE- 79. O registro contém 5 suporte de referências nestes tipos: WEB, PACKAGE.