CVE-2026-45363

ruby-jwt is a Ruby implementation of the RFC 7519 OAuth JSON Web Token standard. Prior to 2.10.3 and 3.2.0, JWT.decode(token, '', true, algorithm: 'HS256') accepts an attacker-forged token because OpenSSL::HMAC.digest('SHA256', '', payload) returns a valid digest under an empty key and no empty-key precondition exists in the HMAC algorithm. The same path is reached when a keyfinder block or key_finder: argument returns an empty string, nil, or an array containing nil for an unknown key, affecting HS256, HS384, and HS512 verification through JWT.decode and JWT::EncodedToken#verify_signature!. This issue is fixed in versions 2.10.3 and 3.2.0.
Configurations

No configuration.

History

24 Oct 2026, 22:10

Type Values Removed Values Added
Summary
  • (es) ruby-jwt es una implementación en Ruby del estándar RFC 7519 OAuth JSON Web Token. Antes de las versiones 2.10.3 y 3.2.0, JWT.decode(token, ’’, true, algorithm: ’HS256’) acepta un token forjado por un atacante porque OpenSSL::HMAC.digest(’SHA256’, ’’, payload) devuelve un digest válido con una clave vacía y no existe ninguna precondición de clave vacía en el algoritmo HMAC. Se alcanza la misma ruta cuando un bloque keyfinder o un argumento key_finder: devuelve una cadena vacía, nil, o un array que contiene nil para una clave desconocida, afectando la verificación de HS256, HS384 y HS512 a través de JWT.decode y JWT::EncodedToken#verify_signature!. Este problema está solucionado en las versiones 2.10.3 y 3.2.0.

19 Sep 2026, 18:16

Type Values Removed Values Added
References
  • () https://lists.debian.org/debian-lts-announce/2026/09/msg00022.html -

Information

Published : 2026-07-14 22:16

Updated : 2026-10-24 22:10


NVD link : CVE-2026-45363

Mitre link : CVE-2026-45363

CVE.ORG link : CVE-2026-45363


JSON object : View

Products Affected

No product.

CWE
CWE-287

Improper Authentication

CWE-326

Inadequate Encryption Strength

CWE-1391

Use of Weak Credentials