PT-2024-10028 · Cjwt · Cjwt

Snyff

·

Publicado

2024-12-19

·

Atualizado

2025-01-20

·

CVE-2024-54150

CVSS v3.1

9.1

Crítica

VetorAV: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

BDU:2025-00161
CVE-2024-54150
GHSA-9H24-7QP5-GP82

Produtos afetados

Cjwt