PT-2026-81390 · Djust · Djust
CVSS v3.1
8.2
Alta
| Vetor | AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:N |
Nome do Software Vulnerável e Versões Afetadas
djust versões anteriores a 1.0.4
Description
Existe uma falha de bypass de autenticação no
LiveViewConsumer quando uma view é restringida por login required, permission required ou um hook on mount de redirecionamento. Nesses casos, a função handle mount() envia um frame de navegação para o cliente, mas não fecha a conexão WebSocket nem limpa a variável self.view instance. Embora os navegadores padrão sigam o redirecionamento, um cliente WebSocket bruto pode ignorá-lo e manter o socket aberto. Como a função handle event() não re-verifica a autenticação ou autorização, um cliente não autenticado pode enviar frames de evento para invocar métodos @event handler, permitindo potencialmente a leitura ou mutação não autorizada de dados sensíveis. Este comportamento também afeta a função handle live redirect mount().Recommendations
Atualize para a versão 1.0.4.
Como solução temporária, garanta que cada
@event handler em uma LiveView restrita verifique independentemente se o usuário da requisição está autenticado e autorizado.
Como alternativa, sobrescreva a função handle mount() do consumidor para executar await self.close(code=4403) após emitir um redirecionamento de autenticação.
Ative o controle de defesa em profundidade definindo LIVEVIEW CONFIG['reauth on event'] = True para re-executar as verificações de autenticação em cada evento para views restritas.Exploit
Correção
Improper Authorization
Missing Authentication
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Djust