PT-2026-41777 · Rubygems · Ruby-Jwt

Publicado

2026-05-13

·

Atualizado

2026-05-18

·

CVE-2026-45363

CVSS v2.0

7.6

Alta

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

Enumeração de Fraquezas

Identificadores relacionados

BDU:2026-09332
CVE-2026-45363
GHSA-C32J-VQHX-RX3X

Produtos afetados

Ruby-Jwt