Skip to content
OpenAdvisories

Description

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.

Affected products

VendorProductAffectedFixed
jwt ruby-jwt < 2.10.3, >= 3.0.0, < 3.2.0 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 ruby-jwt 3.2.0-1 —
Debian 13 ruby-jwt 2.7.1-1+deb13u1 —
Debian 12 ruby-jwt 2.5.0-1+deb12u1 —
ReleasePackageFixed inAdvisory
Ubuntu 26.04 LTS ruby-jwt 2.7.1-1+deb13u1build0.26.04.1 USN-9059-1
Ubuntu 24.04 LTS ruby-jwt 2.7.1-1+deb13u1build0.24.04.1 USN-9059-1
Show 4 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro 22.04 LTS ruby-jwt 2.2.2-1ubuntu0.1~esm1 USN-9059-1
Ubuntu Pro 20.04 LTS ruby-jwt 2.1.0-2ubuntu0.1~esm1 USN-9059-1
Ubuntu Pro 18.04 LTS ruby-jwt 1.5.6-1ubuntu0.1~esm1 USN-9059-1
Ubuntu Pro 16.04 LTS ruby-jwt 1.0.0-3ubuntu0.1~esm1 USN-9059-1
ReleasePackageFixed inAdvisory
Red Hat Satellite Utils 6 rubygem-jwt 2.10.3-1.el8sat RHSA-2026:63387, RHSA-2026:63386, RHSA-2026:63385
Red Hat Satellite Maintenance 6 ansible-core 1:2.16.19-1.el9sat RHSA-2026:63387, RHSA-2026:63386, RHSA-2026:63385
Red Hat Satellite Capsule 6 ansible-core +1 1:2.16.19-1.el9sat RHSA-2026:63387, RHSA-2026:63386, RHSA-2026:63385
Red Hat Satellite Capsule 6 openvox-server 8.15.2-1.el8sat RHSA-2026:63387, RHSA-2026:63386, RHSA-2026:63385
Red Hat Satellite Capsule 6 pulpcore-obsolete-packages 1.3.1-5.el9pc RHSA-2026:63386
Red Hat Satellite Capsule 6 python-aiohttp +1 3.14.3-1.el8pc RHSA-2026:63387, RHSA-2026:63327
Red Hat Satellite Capsule 6 python3.12-aiohttp 3.14.3-1.el9pc RHSA-2026:63386, RHSA-2026:63385
Red Hat Satellite Capsule 6 python3.12-gitpython 3.1.59-1.el9pc RHSA-2026:63385
Red Hat Satellite Capsule 6 python3.12-pulpcore 3.73.30-3.el9pc RHSA-2026:63386
Red Hat Satellite Capsule 6 rubygem-jwt 2.10.3-1.el8sat RHSA-2026:63387, RHSA-2026:63386, RHSA-2026:63385
Show 1 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Red Hat Satellite 6 ansible-core +1 1:2.16.19-1.el9sat RHSA-2026:63387, RHSA-2026:63386, RHSA-2026:63385
Red Hat Satellite 6 openvox-server 8.15.2-1.el8sat RHSA-2026:63387, RHSA-2026:63386, RHSA-2026:63385
Red Hat Satellite 6 pulpcore-obsolete-packages 1.3.1-5.el9pc RHSA-2026:63386
Red Hat Satellite 6 python-aiohttp +1 3.14.3-1.el8pc RHSA-2026:63387, RHSA-2026:63327
Red Hat Satellite 6 python3.12-aiohttp 3.14.3-1.el9pc RHSA-2026:63386, RHSA-2026:63385
Red Hat Satellite 6 python3.12-gitpython 3.1.59-1.el9pc RHSA-2026:63385
Red Hat Satellite 6 python3.12-pulpcore 3.73.30-3.el9pc RHSA-2026:63386
Red Hat Satellite 6 rubygem-jwt 2.10.3-1.el8sat RHSA-2026:63387, RHSA-2026:63386, RHSA-2026:63385

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling cinc-auditor 7.1.7-r0 —
Wolfi rolling kube-fluentd-operator 1.18.2-r65 —
Wolfi rolling ruby3.2-kube-logging-operator-fluentd-outputs +1 6.5.2-r0 —

Affected packages

EcosystemPackageAffectedFixedRecord
RubyGems jwt >= 3.0.0, < 3.2.0 3.2.0 GHSA-c32j-vqhx-rx3x
RubyGems jwt < 2.10.3 2.10.3 GHSA-c32j-vqhx-rx3x

Advisories 5

References