PT-2021-19810 · Unknown · Flask-Security-Too
Publicado
2021-05-17
·
Atualizado
2021-12-14
·
CVE-2021-32618
CVSS v2.0
5.8
Média
| Vetor | AV:N/AC:M/Au:N/C:P/I:P/A:N |
Nome do software vulnerável e versões afetadas
Flask-Security-Too versões 3.0.0 e posteriores
Descrição
A vulnerabilidade permite redirecionamentos após visualizações bem-sucedidas, como /login, ao aceitar o parâmetro de consulta ?next. A verificação de validação utiliza a biblioteca urlsplit do Python para garantir que a URL especificada no parâmetro next seja relativa ou tenha o mesmo netloc que a URL solicitante. No entanto, muitos navegadores são tolerantes e “preenchem as lacunas” quando confrontados com uma URL possivelmente incompleta. Por exemplo, definir http://login?next=github.com passará na verificação de URL relativa, mas muitos navegadores converterão isso para http://github.com, permitindo que um invasor envie um link a um usuário desavisado e o redirecione para qualquer site que desejar. Isso é considerado uma vulnerabilidade de baixa gravidade devido ao comportamento padrão do Werkzeug de garantir cabeçalhos Location absolutos, o que mitiga o vetor de ataque.
Recomendações
Para resolver o problema, certifique-se de que a configuração padrão do cabeçalho Location seja usada ao empregar o Werkzeug. Se isso não for possível, use @app.after request e implemente uma validação personalizada do cabeçalho Location, caso ele esteja definido.
No momento, não há informações sobre uma versão mais recente que contenha uma correção para essa vulnerabilidade.
Open Redirect
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Flask-Security-Too