PT-2026-41777 · Rubygems · Ruby-Jwt
Publicado
2026-05-13
·
Atualizado
2026-05-18
·
CVE-2026-45363
CVSS v2.0
7.6
Alta
| Vetor | AV:N/AC:H/Au:N/C:C/I:C/A:C |
Nome do Software Vulnerável e Versões Afetadas
ruby-jwt (versões afetadas não especificadas)
Descrição
Uma falha no procedimento de autenticação permite que a biblioteca aceite tokens forjados quando uma string vazia é utilizada como chave de verificação. Isso ocorre porque o algoritmo HMAC carece de uma pré-condição para rejeitar chaves vazias, e o
OpenSSL::HMAC.digest retorna um digest válido nessas condições. O problema afeta os algoritmos HS256, HS384 e HS512 através do JWT.decode (utilizando chaves posicionais e blocos de busca de chave) e da função verify signature!. Isso pode ser desencadeado quando blocos de busca de chave ou argumentos retornam uma string vazia, ou quando aplicações utilizam padrões que resultam em strings vazias, como ENV['SECRET'] || '' ou colunas de ORM com valores padrão de string vazia. A exploração deste problema pode levar a uma negação de serviço.Recomendações
Ative a opção
enforce hmac key length para bloquear o uso de chaves vazias.
Evite o uso de strings vazias como chaves em JWT.decode() ou dentro de blocos de busca de chave.
Garanta que os blocos de busca de chave retornem nil ou lancem um erro em vez de retornar uma string vazia quando uma chave não for encontrada.Exploit
Correção
Inadequate Encryption Strength
Improper Authentication
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Ruby-Jwt