Resumo Abrir URLs fornecidas pelo usuário verificados pelo WebUI, resolvendo o nome de máquina uma vez e rejeitando endereços privados, loopback e link-local, em seguida, deixe o cliente HTTP resolver esse nome de máquina novamente no momento da conexão. Um atacante que controle o DNS autoritário para um nome de máquina que envia pode responder com um endereço público durante a verificação e um interno na conexão, para que a busca alcance um endereço que a verificação deveria bloquear. Cada captação alcançable pelo usuário por essa verificação foi afetada, e a maioria deles entrega a resposta interna de volta ao atacante. ## Precondições - Uma conta na instância. Sem direitos de administrador e sem configuração não predefinida. - Controle do DNS autoritário para um nome de máquina que o atacante submete, servindo um TTL de 0 e respostas alternadas. - Um dos pontos de entrada afetados: URL ingerido para recuperação, um `image_url` em um chat completamento, edição de imagens ou a busca de imagens do perfil OAuth. - O caminho OAuth necessita adicionalmente de login OAuth configurado e uma reivindicação de imagens (`OAUTH_ PICTURE_ CLAIM`, imagem padrão ''), o usuário pode influenciar, o que é o caso em provedores de OIDC self-service e provedores com um URL avatar editável pelo usuário. Em uma conta existente, também precisa de `OAUTH_UPDATE_PICTURE_ON_LOGIN`, que está desativado por padrão. As implantações sem OAuth não são afetadas nesse caminho; os outros caminhos não precisam de qualquer configuração.
Impacto O servidor pode ser feito para emitir pedidos para endereços somente que ele possa alcançar: metadados de instância de nuvem, como 169.254.169.254, APIs de administradores ligados ao loop e serviços de rede internos. A resposta volta ao atacante na maioria dos caminhos, como conteúdo de documentos no caminho de recuperação, descrito pelo modelo de visão no caminho de imagem do chat, e base 64 - codificado na imagem do perfil no caminho OAuth; o caminho de edição da imagem é cego. No caminho OAuth o servidor também encaminha o token de acesso OAuth como um cabeçalho do Portador para a URL recuperada, assim, uma mão de novo combinada que token para o alvo interno. Em um host de nuvem com o IMDSv 1 Alcançable é suficiente para levar as credenciais do IAM de instância. A exploração depende de ganhar a diferença entre as duas resoluções, que o atacante influencia, mas não controla totalmente. Os backends de geração de imagens configurados pelo administrador e o pool de sessão compartilhado não são afetados e mantêm deliberadamente o cliente padrão, uma vez que um administrador pode apontar legitimamente aqueles em um host interno.
Fixar Fixo em v 0.11.0 (# 24759, # 25775, # 25960, # 26699 ). A verificação acontece agora na camada de conexão em vez de antecipar- a: um adaptador de transporte `requests` resolve o nome do host uma vez e conecta- se ao mesmo endereço validado, e um resolvedor aiohttp aplica a mesma verificação global- IP, exposta como uma sessão única usada por cada busca atrás da verificação de URL. Atualizar para v 0.11.0 Resolve isso sem alteração de configuração. ## Causa raíz Componentes afetados: - recuperação do carregador web (`SafeWebBaseLoader`) - recuperação da sonda de conteúdo (`get_content_from_url`) - busca de imagens de chat (`get_image_base 64 _from_url`) - edição de imagens (`load_url_image`) - Recolha de imagens do perfil de OAuth (`_process_photo_url`).
A verificação do URL resolveu o nome do host e inspecionou o IP resultante, mas nada ligava essa decisão à conexão que seguiu: o cliente HTTP resolveu o nome novamente por si mesmo, e a segunda resposta nunca foi inspecionada. A verificação foi, portanto, uma opinião sobre uma busca passada em vez de uma limitação na conexão real, que é o que um servidor DNS revincente derrota. O primeiro guarda de camada de conexão cobriu apenas o carregador de recuperação, deixando a sonda de irmãos, imagem e OAuth recupera em clientes padrão até que cada um seja relatado por sua vez. ## Créditos - @rezaduty — o tempo de religação do cheque/tempo de uso e o caminho do carregador de recuperação. - @nikchillz — o caminho de recuperação do conteúdo-sonda. - @dhyabi 2 — o caminho do chat `image_url`, onde a resposta interna é lida de volta através do modelo de visão. - @geo-chen — o caminho da edição de imagem. - @bogdancherniy 11 -sudo — o caminho do perfil do OAuth, onde o rebind também revela o token de acesso do OAuth enviado.
Registro de aconselhamento: GHSA- h 6 x 2 - 583 h- x 99 r. Identificadores relacionados: CVE- 2026 - 54020.
Tempo: GitHub Advisory Database publicou este registro em 2026 - 08 - 04 T 20: 38: 34.000 Z e lista a sua última modificação como 2026 - 08 - 04 T 21: 07: 58.000 Z.
Gravidade: MODERAR. Dados de pontuação publicados: CVSS_V 3: CVSS: 3.1 /AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N.
Informações sobre software e versão afetadas: Pacote PyPI open-webui — ECOSISTEM: introduzido 0, corrigido 0.11.0.
Classificação e evidência: identificadores de fraqueza CWE- 367, CWE- 918. O registro contém 3 suporte de referências nestes tipos: WEB, PACKAGE.