---
id: CVE-2026-45363
title: >-
  ruby-jwt is a Ruby implementation of the RFC 7519 OAuth JSON Web Token
  standard
summary: >-
  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', '', paylo…
severity: critical
cvss: 9.1
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N'
cwe:
  - CWE-287
  - CWE-326
  - CWE-1391
  - CWE-347
vendor: jwt
product: ruby-jwt
affected:
  - ruby-jwt < 2.10.3
  - 'ruby-jwt >= 3.0.0, < 3.2.0'
published: '2026-07-14'
updated: '2026-09-19'
sourceUpdated: '2026-09-19T18:16:48.657'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-45363'
references:
  - url: >-
      https://github.com/jwt/ruby-jwt/commit/9820020869ad147b941e49d96ab8beba35532964
    label: security-advisories@github.com
  - url: >-
      https://github.com/jwt/ruby-jwt/commit/db560b769a07bd9724e77ff505011ac01872106f
    label: security-advisories@github.com
  - url: 'https://github.com/jwt/ruby-jwt/releases/tag/v2.10.3'
    label: security-advisories@github.com
  - url: 'https://github.com/jwt/ruby-jwt/releases/tag/v3.2.0'
    label: security-advisories@github.com
  - url: 'https://github.com/jwt/ruby-jwt/security/advisories/GHSA-c32j-vqhx-rx3x'
    label: security-advisories@github.com
  - url: 'https://lists.debian.org/debian-lts-announce/2026/09/msg00022.html'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-45363.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-45363'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2500739'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-45363'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-45363'
  - url: 'https://access.redhat.com/errata/RHSA-2026:63327'
  - url: 'https://access.redhat.com/errata/RHSA-2026:63387'
  - url: 'https://access.redhat.com/errata/RHSA-2026:63386'
  - url: 'https://access.redhat.com/errata/RHSA-2026:63385'
tags:
  - nvd
  - cve.org
  - csaf
  - vex
  - red-hat
ssvc:
  exploitation: none
  automatable: 'yes'
  technicalImpact: total
  timestamp: '2026-07-15T13:24:12.081532Z'
epss: 0.00364
epssPercentile: 0.30453
ingestedAt: '2026-09-19T19:09:10.995Z'
patched:
  - satellite_6_16_for_rhel 8
  - satellite_6_16_for_rhel 9
  - satellite_6_17_for_rhel 9
  - satellite_6_18_for_rhel 9
  - satellite_6_19_for_rhel 9
scores:
  nvd: 9.1
  vendor: 7.4
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Vendor advisories

- **RHSA-2026:63327** · Red Hat · fixed in: Red Hat Satellite 6.16 for RHEL 8, Red Hat Satellite 6.16 for RHEL 9 · released 2026-09-03 · [advisory](https://access.redhat.com/errata/RHSA-2026:63327)
- **RHSA-2026:63387** · Red Hat · fixed in: Red Hat Satellite 6.17 for RHEL 9 · released 2026-09-03 · [advisory](https://access.redhat.com/errata/RHSA-2026:63387)
- **RHSA-2026:63386** · Red Hat · fixed in: Red Hat Satellite 6.18 for RHEL 9 · released 2026-09-03 · [advisory](https://access.redhat.com/errata/RHSA-2026:63386)
- **RHSA-2026:63385** · Red Hat · fixed in: Red Hat Satellite 6.19 for RHEL 9 · released 2026-09-03 · [advisory](https://access.redhat.com/errata/RHSA-2026:63385)
- **Red Hat VEX** · Important · affected: Red Hat 3scale API Management Platform 2, Red Hat Satellite 6 · no fix planned: Red Hat 3scale API Management Platform 2, Red Hat Satellite 6 · updated 2026-10-16 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-45363.json)
