Unknown · Golang-Jwt · CVE-2024-51744
**Nome do software vulnerável e versões afetadas**
Versões do golang-jwt anteriores à 4.5.1
**Descrição**
O problema decorre de uma documentação pouco clara sobre o comportamento de erros no `ParseWithClaims`, o que pode levar a situações em que os usuários não verificam os erros adequadamente. Especificamente, se um token estiver expirado e inválido, os erros retornados por `ParseWithClaims` incluem ambos os códigos de erro. Se os usuários verificarem apenas `jwt.ErrTokenExpired` usando `error.Is`, eles podem ignorar o `jwt.ErrTokenSignatureInvalid` incorporado e, assim, potencialmente aceitar tokens inválidos.
**Recomendações**
Para versões do golang-jwt anteriores à 4.5.1, certifique-se de verificar corretamente todos os erros, começando pelos “perigosos”, para evitar a aceitação de tokens inválidos. Considere atualizar para a versão 4.5.1, que inclui uma correção na lógica de tratamento de erros, mas esteja ciente de que essa atualização pode quebrar seu código devido a mudanças no comportamento da função `ParseWithClaims`. Se a atualização para a versão 4.5.1 não for viável, verifique manualmente os erros retornados por `ParseWithClaims`, verificando se há `jwt.ErrTokenSignatureInvalid` e outros erros críticos antes de verificar problemas menos graves, como `jwt.ErrTokenExpired`.