PT-2024-10028 · Cjwt · Cjwt
Snyff
·
Publicado
2024-12-19
·
Atualizado
2025-01-20
·
CVE-2024-54150
CVSS v3.1
9.1
Crítica
| Vetor | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N |
Nome do software vulnerável e versões afetadas
Versões do cjwt anteriores à 2.3.0
Descrição
O problema está relacionado à confusão de algoritmos ao verificar o tipo de assinatura usada em JSON Web Tokens (JWT). Se um sistema não diferenciar entre tokens assinados por HMAC e tokens assinados por RS/EC/PS durante a verificação, ele fica vulnerável a esse tipo de ataque. Um invasor poderia criar um token com o campo
alg definido como “HS256”, enquanto o servidor espera um algoritmo assimétrico como “RS256”. O servidor pode usar erroneamente o método de verificação incorreto, como utilizar uma chave pública como o segredo HMAC, levando a um acesso não autorizado. Para RSA, a chave pode ser calculada a partir de algumas assinaturas. Para Curva Elíptica (EC), duas chaves potenciais podem ser recuperadas a partir de uma assinatura. Isso pode ser usado para contornar o mecanismo de assinatura se um aplicativo depender de tokens assinados assimetricamente.Recomendações
Para versões anteriores à 2.3.0, atualize para a versão 2.3.0 ou posterior para resolver o problema. Não há soluções alternativas conhecidas para essa vulnerabilidade. Como solução alternativa temporária, considere restringir o acesso ao mecanismo de verificação de tokens vulnerável até que um patch esteja disponível. Evite usar o campo
alg no endpoint da API afetado até que o problema seja resolvido.Exploit
Correção
Improper Verification of Cryptographic Signature
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Cjwt