PT-2026-21985 · Rucio · Rucio
D-Woosley
·
Publicado
2026-02-25
·
Atualizado
2026-02-26
·
CVE-2026-25136
CVSS v3.1
8.1
Alta
| Vetor | AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N |
Nome do Software Vulnerável e Versões Afetadas
Versões do Rucio anteriores a 35.8.3
Versões do Rucio anteriores a 38.5.4
Versões do Rucio anteriores a 39.3.1
Descrição
O software Rucio contém uma vulnerabilidade de Cross-site Scripting (XSS) refletido na renderização da ExceptionMessage do erro 500 da WebUI. Isso poderia permitir que atacantes roubassem tokens de sessão de login de usuários que acessassem uma URL especialmente criada. O problema ocorre porque a
ExceptionMessage, que pode conter entrada controlada pelo usuário, é renderizada como HTML não codificado. O código do servidor em common.py (especificamente error headers, error response e generate http error flask) insere a ExceptionMessage nos cabeçalhos da resposta e no corpo JSON. O cliente da WebUI então injeta esse texto no Modelo de Objeto de Documento (DOM) usando métodos inseguros como jQuery.html(...) em arquivos como rule.js, request rule.js e list rules.js, permitindo XSS refletido. Um atacante pode criar uma URL contendo um payload malicioso, como uma tag <img src=x onerror=alert(document.cookie)>, que será executada quando um usuário acessar a URL. Isso permite que o atacante potencialmente roube tokens de sessão devido à ausência do atributo HttpOnly no cookie de sessão e à falta de uma Content Security Policy (CSP). A exploração pode ocorrer por meio do parâmetro account nas URLs ou durante erros na criação de atributos de chave de conta. Um atacante pode potencialmente criar uma nova identidade UserPass para a conta root.Recomendações
Para versões anteriores a 35.8.3, altere todas as inserções de texto fornecido pelo servidor no lado cliente de
.html(...) para .text() ou crie nós de texto/codifique o HTML antes da inserção.
Para versões anteriores a 38.5.4, altere todas as inserções de texto fornecido pelo servidor no lado cliente de .html(...) para .text() ou crie nós de texto/codifique o HTML antes da inserção.
Para versões anteriores a 39.3.1, altere todas as inserções de texto fornecido pelo servidor no lado cliente de .html(...) para .text() ou crie nós de texto/codifique o HTML antes da inserção.
Considere adicionar uma Content Security Policy (CSP) para mitigar a execução de scripts externos.
Defina o flag HTTPOnly para cookies de sessão.
Evite definir o token da API em uma variável JavaScript.Exploit
Correção
XSS
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Rucio