PT-2026-56202
CVE-2026-56812
·
Publicado
2026-07-07
·
Atualizado
2026-09-24
Descrição por
CVSS 3.1
7.5
AltaMétricasAV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Nome do Software Vulnerável e Versões Afetadas
phoenix versões 1.2.0-rc.0 até 1.5.14
phoenix versões 1.6.0-rc.0 até 1.6.16
phoenix versões 1.7.0-rc.0 até 1.7.23
phoenix versões 1.8.0-rc.0 até 1.8.8
Description
O cliente JavaScript Presence no phoenix contém uma verificação inadequada de condições excepcionais que permite que um invasor com acesso comum ao canal cause uma negação de serviço persistente no lado do cliente para todos os visualizadores de um tópico de canal de presença. O problema reside no arquivo
assets/js/phoenix/presence.js dentro das rotinas Presence.syncState() e Presence.syncDiff(). O cliente utiliza um teste de verdade simples (state[key]) em vez de uma verificação de propriedade própria para verificar se uma presença existe. Como as chaves de presença são controladas pelo invasor, um usuário pode fornecer uma chave que corresponda a um nome de membro do Object.prototype (como proto, constructor, toString ou hasOwnProperty). Isso faz com que a busca retorne o Object.prototype integrado em vez de undefined, levando o código a tentar ler .metas.map(...) do protótipo, o que gera um TypeError não capturado. Essa exceção impede que o estado local seja atualizado e evita que o onSync() seja disparado. Como o servidor continua a enviar a chave maliciosa, a sincronização permanece interrompida para todos os visualizadores do tópico até que o invasor saia. Trata-se de uma confusão de tempo de leitura do objeto protótipo e não de poluição de protótipo.Recommendations
Atualize o phoenix para a versão 1.5.15 ou posterior.
Atualize o phoenix para a versão 1.6.17 ou posterior.
Atualize o phoenix para a versão 1.7.24 ou posterior.
Atualize o phoenix para a versão 1.8.9 ou posterior.
Explorabilidade
Exploit
Correção
Impactos
Pesquisadores
Fornecedores
Produtos afetados
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾