
Aviso sanitizado para CVE-2025-51846 que afeta o tratamento de WebSocket do CryptPad.
Gravidade: Alta (CVSS 7.5)
CWE: 400 – Consumo de Recursos Não Controlado (Exaustão de Recursos),
CWE: CWE-770 – Alocação de Recursos Sem Limites ou Regulação
Status: Corrigido
Afetado confirmado: CryptPad 2025.3.1
Faixa afetada no rascunho do CSAF: >=2025.3.1, <2026.2.1
Nota da versão corrigida: O rascunho do coordenador atualmente referencia a 2026.2.1. O CryptPad indicou posteriormente que a 2026.2.2 é a versão de correção realmente boa devido a um problema de versão na 2026.2.1. Os operadores devem confirmar a versão corrigida final no aviso da CISA publicado e nas notas de lançamento do CryptPad.
image
A implementação de WebSocket do CryptPad aplicava limites a quadros individuais, mas não aplicava adequadamente limites cumulativos sobre a quantidade de dados e o número de fragmentos processados por conexão.
De acordo com a RFC 6455, uma mensagem WebSocket pode ser dividida em vários quadros. Nas versões afetadas, quadros válidos repetidos ou mensagens fragmentadas poderiam causar consumo excessivo de recursos no servidor.
Um atacante remoto não autenticado poderia explorar esse comportamento para degradar ou negar o serviço a usuários legítimos. Em testes, isso resultou em alto uso de CPU e memória, interface do CryptPad sem resposta, falha no carregamento de documentos/sessões e encerramento do serviço sob alta carga.
image
O problema é causado por contabilização cumulativa de recursos insuficiente no caminho de processamento de WebSocket. Embora quadros individuais possam estar sujeitos a verificações de tamanho, o servidor ainda processa quadros ou fragmentos válidos repetidos sem um limite cumulativo eficaz por conexão.
Em testes de laboratório, vários padrões de tráfego WebSocket de aparência não maliciosa foram usados para validar o problema:
Esses testes demonstraram que o CryptPad continuava consumindo recursos ao processar tráfego que, individualmente, parecia válido. Sob carga de laboratório mais intensa, o serviço ficou indisponível e os logs do sistema mostraram encerramento de processos devido à exaustão de memória.
Scripts completos de teste de estresse não são publicados para evitar possibilitar abuso contra instâncias de CryptPad em produção.
image
Este aviso inclui intencionalmente apenas uma descrição não armamentizada da abordagem de reprodução.
Em alto nível, o problema pode ser reproduzido em um laboratório controlado ao:
Nenhum exploit público ou script de inundação está incluído.
image
Um atacante pode, portanto, abrir uma conexão WebSocket e enviar centenas ou até milhares de quadros (cada um dentro do limite de tamanho permitido), até que o servidor tenha armazenado em buffer e processado uma quantidade enorme de dados. Embora cada quadro individualmente pareça 'legal', o efeito cumulativo é que a memória e a CPU do servidor são consumidas processando cada fragmento.
Um atacante remoto não autenticado pode:
image
>=2025.3.1, <2026.2.11e0c06ad8a0c5dab795f85f9730ec2693320c62eimage
Os operadores devem atualizar para a versão corrigida do CryptPad identificada no aviso final da CISA e nas notas de lançamento do CryptPad.
Mitigações adicionais de defesa em profundidade incluem:
image
O CryptPad reconheceu a condição de negação de serviço. O fornecedor afirmou que contramedidas já haviam sido implementadas no lado do nginx para a instância principal e que alterações adicionais estavam sendo adicionadas à configuração de exemplo e à lógica do servidor. O CryptPad também mencionou uma refatoração mais ampla do servidor destinada a incluir essas contramedidas.
O CryptPad forneceu posteriormente o PR #2239 como referência pública da correção e indicou que o lançamento de correção corrigido é 2026.2.2, após um problema de versão na 2026.2.1.
image
Este problema está classificado corretamente como uma vulnerabilidade de negação de serviço de alta gravidade. O ataque não exige autenticação e pode causar indisponibilidade total do serviço ao esgotar os recursos do servidor por meio de padrões de tráfego WebSocket válidos.
image
Os testes foram realizados apenas em ambientes controlados. Este aviso não inclui scripts de inundação armamentizados ou ferramentas completas de reprodução.
image
John Perifanis
Pesquisador de Segurança
Contato: https://www.linkedin.com/in/ioannis-p-9081842b9