UBUNTU-CVE-2026-45363: Critical severity ubuntu/ruby-jwt vulnerability

Published Jul 14, 2026
·
Updated

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 keyfinder: 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#verifysignature!. This issue is fixed in versions 2.10.3 and 3.2.0.

Affected Software

6 affected componentsFixes available
ubuntu/ruby-jwt<1.0.0-3ubuntu0.1~esm1
1.0.0-3ubuntu0.1~esm1
ubuntu/ruby-jwt<1.5.6-1ubuntu0.1~esm1
1.5.6-1ubuntu0.1~esm1
ubuntu/ruby-jwt<2.1.0-2ubuntu0.1~esm1
2.1.0-2ubuntu0.1~esm1
ubuntu/ruby-jwt<2.2.2-1ubuntu0.1~esm1
2.2.2-1ubuntu0.1~esm1
ubuntu/ruby-jwt<2.7.1-1+deb13u1build0.24.04.1
2.7.1-1+deb13u1build0.24.04.1
ubuntu/ruby-jwt<2.7.1-1+deb13u1build0.26.04.1
2.7.1-1+deb13u1build0.26.04.1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade ubuntu/ruby-jwt to a version that resolves this vulnerability.

    Fixed in 1.0.0-3ubuntu0.1~esm1
  2. Upgrade

    Upgrade ubuntu/ruby-jwt to a version that resolves this vulnerability.

    Fixed in 1.5.6-1ubuntu0.1~esm1
  3. Upgrade

    Upgrade ubuntu/ruby-jwt to a version that resolves this vulnerability.

    Fixed in 2.1.0-2ubuntu0.1~esm1
  4. Upgrade

    Upgrade ubuntu/ruby-jwt to a version that resolves this vulnerability.

    Fixed in 2.2.2-1ubuntu0.1~esm1
  5. Upgrade

    Upgrade ubuntu/ruby-jwt to a version that resolves this vulnerability.

    Fixed in 2.7.1-1+deb13u1build0.24.04.1
  6. Upgrade

    Upgrade ubuntu/ruby-jwt to a version that resolves this vulnerability.

    Fixed in 2.7.1-1+deb13u1build0.26.04.1
  7. Upgrade

    Upgrade ruby-jwt to a version that resolves this vulnerability.

    Fixed in 2.10.3
  8. Upgrade

    Upgrade ruby-jwt to a version that resolves this vulnerability.

    Fixed in 3.2.0

Event History

Jul 14, 2026
CVE Published
via OSV·10:16 PM
Data Sourced
via OSV·10:16 PM
DescriptionSeverityAffected Software

Frequently Asked Questions

1

Which verification setups are vulnerable?

Applications are affected when they verify JWTs with HS256, HS384, or HS512 and the verification key is an empty string. The same condition can occur if a keyfinder block or key_finder argument returns an empty string, nil, or an array containing nil for an unknown key.

2

What does an attacker need to exploit this?

An attacker can forge a token when the application reaches the affected HMAC verification path with an empty or nil-derived key. The reported vector requires no privileges or user interaction and is network-accessible.

3

How can I determine whether my application is exposed?

Review calls to JWT.decode and JWT::EncodedToken#verify_signature! that use HS256, HS384, or HS512. Check whether the configured key can be empty and whether key lookup handling for unknown keys can return an empty string, nil, or an array containing nil.

4

What should be done if an immediate upgrade is not possible?

Ensure HMAC verification is not performed with an empty key, and make keyfinder or key_finder handling reject unknown keys rather than returning an empty string, nil, or an array containing nil. Upgrade to ruby-jwt 2.10.3 or 3.2.0 when possible.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203