CVE Catalog

CVE-2026-45363

CriticalCVSS 9.1
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.24%

15th percentile - higher than 15% of all known CVEs

Summary

The ruby-jwt library before versions 2.10.3 and 3.2.0 contains a vulnerability that accepts forged JWT tokens. The issue occurs when an empty key is used for verification, allowing an attacker to bypass authentication.

Risk Assessment

An attacker can exploit this vulnerability to impersonate any user or gain unauthorized access to the system, potentially leading to data confidentiality and integrity breaches.

Recommendation

Immediately update the ruby-jwt library to version 2.10.3 or 3.2.0. Additionally, avoid using empty keys in HMAC configuration and implement proper keyfinder functions.

Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS