CVE-2023-48223
fast-jwt Confusão de Algoritmo JWT
- Publicado
- 20 de nov. de 2023
- Atualizado
- 2 de ago. de 2024
- Atribuindo CNA
- GitHub_M
- Evidência observada
- 8 de ago. de 2026
CVSS primário
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:NBaixo · próximos 30 dias
- Percentil
- 50,6%
- Data do modelo
- 21 de set. de 2026
EPSS é uma estimativa estatística, não uma certeza ou uma medida de impacto. Combine-o com CVSS, status KEV, exposição e seu ambiente.
Resumo
fast-jwt fornece uma implementação rápida de JSON Web Token (JWT). Antes da versão 3.3.2, a biblioteca fast-jwt não impede adequadamente a confusão de algoritmos JWT para todos os tipos de chaves públicas. O 'publicKeyPemMatcher' em 'fast-jwt/src/crypto.js' não corresponde adequadamente a todos os formatos PEM comuns para chaves públicas. Para explorar esta vulnerabilidade, um atacante precisa criar um token JWT malicioso contendo o algoritmo HS256, assinado com a chave pública RSA da aplicação da vítima. Este ataque só funcionará se a aplicação da vítima utilizar uma chave pública contendo o cabeçalho `BEGIN RSA PUBLIC KEY`. Aplicações que utilizam o algoritmo RS256, uma chave pública com um cabeçalho `BEGIN RSA PUBLIC KEY`, e que chamam a função verify sem fornecer explicitamente um algoritmo, estão vulneráveis a este ataque de confusão de algoritmos, que permite que atacantes assinem payloads arbitrários que serão aceitos pelo verificador. A versão 3.3.2 contém uma correção para este problema. Como medida alternativa, altere a linha 29 de `blob/master/src/crypto.js` para incluir uma expressão regular.
Fontes
1Prova de conceito demonstrando confusão de algoritmo JWT na biblioteca fast-jwt. Inclui servidor vulnerável, script de forjamento de token e correção de verificação para educação em segurança.
Uso responsável
Use informações de vulnerabilidade apenas em sistemas que você possui ou está autorizado a testar. O Kitploit vincula-se a metadados de pesquisa pública e não armazena código de exploração ou cargas maliciosas.