CVE-2026-45363

HIGHPre-NVD 7.47.4
EchelonGraph scoreLOW confidence

This high-severity CVE scores 7.4 under the CNA's CVSS (NVD's own analysis pending). EPSS exploit probability: 0.0%, top 95% of all CVEs by exploit prediction. GitHub Security Advisory data not yet ingested — confidence will rise once GHSA publishes (typical lag: hours to days for open-source ecosystem CVEs; never for infrastructure-only CVEs).

Triggered by: NVD CVSS baseline
Sources: cna:github_m, epss
7.4
EchelonGraph verdictPlan a fixSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS: 0%CVSS: 7.4Exploit: NoneExposed: 0

No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.

ruby-jwt: Empty-key HMAC bypass; cross-language sibling of CVE-2026-44351

JWT.decode(token, '', true, algorithm: 'HS256') accepts an attacker-forged token. OpenSSL::HMAC.digest('SHA256', '', payload) returns a valid digest under an empty key, and no raise InvalidKeyError if key.empty? precondition exists in the HMAC algorithm.

JWT.decode(token, "", true, algorithm: 'HS256')
  -> JWA::Hmac.verify(verification_key: "", ...)
  -> OpenSSL::HMAC.digest('SHA256', "", signing_input) == signature

The same path is reached when a keyfinder block or key_finder: argument returns "", nil, or an array containing nil for an unknown key. JWT::Decode#find_key only rejects literal nil and empty arrays, and JWT::JWA::Hmac silently coerces nil to "" (signing_key ||= '') before signing.

JWT.decode(token, nil, true, algorithms: ['HS256']) { |_h| "" }
  -> find_key returns ""               # "" && !Array("").empty? == true
  -> JWA::Hmac.verify(verification_key: "", ...)
  -> verifies
Common application patterns that produce the unsafe value: redis.get("kid:#{kid}").to_s, ORM string columns with default: '', ENV['SECRET'] || '', Hash.new('') lookups, [primary, fallback] where fallback may be nil. Applications passing a non-empty static key:, or whose keyfinder returns nil / raises on miss, are not affected.

The existing enforce_hmac_key_length option would block this but defaults to false. On OpenSSL ≥ 3.5 the empty-key HMAC.digest call no longer raises, so the OpenSSL-3.0 rescue in JWA::Hmac#sign does not fire.

Affects HS256/HS384/HS512 via both JWT.decode (positional key and block keyfinder) and JWT::EncodedToken#verify_signature!(key_finder:)

CVSS v3
7.4
EG Score
7.4(low)
EPSS
5.0%
KEV
Not listed

Published

May 18, 2026

Last Modified

May 18, 2026

Vendor Advisories for CVE-2026-45363(1)

These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.

Affected Packages

(1 across 1 ecosystem)
RubyGems(1)
PackageVulnerable rangeFixed inDependents
jwt0.1.1 ... 2.9.3 (49 versions)2.10.3

Data Freshness Timeline

(refreshed 0× in last 7d / 26× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

  1. 2026-06-29 21:09 UTCEG score recompute
  2. 2026-06-28 09:27 UTCEG score recompute
  3. 2026-06-27 21:22 UTCEG score recompute
  4. 2026-06-27 08:06 UTCEG score recompute
  5. 2026-06-26 19:56 UTCEG score recompute
  6. 2026-06-25 17:44 UTCEG score recompute
  7. 2026-06-18 02:21 UTCEG score recompute
  8. 2026-06-17 13:15 UTCEG score recompute
  9. 2026-06-16 23:21 UTCEG score recompute
  10. 2026-06-16 11:16 UTCEG score recompute
  11. 2026-06-15 23:10 UTCEG score recompute
  12. 2026-06-14 23:18 UTCEPSS rescore
  13. 2026-06-14 23:04 UTCEG score recompute
  14. 2026-06-14 10:58 UTCEG score recompute
  15. 2026-06-13 23:00 UTCEPSS rescore
  16. 2026-06-13 22:52 UTCEG score recompute
  17. 2026-06-13 08:31 UTCEG score recompute
  18. 2026-06-12 23:12 UTCEPSS rescore
  19. 2026-06-12 20:25 UTCEG score recompute
  20. 2026-06-12 08:19 UTCEG score recompute
  21. 2026-06-11 20:14 UTCEG score recompute
  22. 2026-06-11 08:08 UTCEG score recompute
  23. 2026-06-10 20:03 UTCEG score recompute
  24. 2026-06-10 07:56 UTCEG score recompute
  25. 2026-06-09 19:50 UTCEG score recompute
Show 18 more
  1. 2026-06-09 07:44 UTCEG score recompute
  2. 2026-06-08 19:38 UTCEG score recompute
  3. 2026-06-08 06:34 UTCEG score recompute
  4. 2026-06-07 18:29 UTCEG score recompute
  5. 2026-06-07 06:23 UTCEG score recompute
  6. 2026-06-06 18:18 UTCEG score recompute
  7. 2026-06-06 06:12 UTCEG score recompute
  8. 2026-06-05 18:06 UTCEG score recompute
  9. 2026-06-05 06:00 UTCEG score recompute
  10. 2026-06-04 17:55 UTCEG score recompute
  11. 2026-06-04 05:50 UTCEG score recompute
  12. 2026-06-03 17:44 UTCEG score recompute
  13. 2026-06-03 05:38 UTCEG score recompute
  14. 2026-06-02 17:32 UTCEG score recompute
  15. 2026-06-02 05:26 UTCEG score recompute
  16. 2026-06-01 17:20 UTCEG score recompute
  17. 2026-06-01 05:15 UTCEG score recompute
  18. 2026-05-24 06:16 UTCEG score recompute

Frequently asked(5)

What is CVE-2026-45363?
CVE-2026-45363 is a high vulnerability published on May 18, 2026. ruby-jwt: Empty-key HMAC bypass; cross-language sibling of CVE-2026-44351 JWT.decode(token, '', true, algorithm: 'HS256') accepts an attacker-forged token. OpenSSL::HMAC.digest('SHA256', '', payload) returns a valid digest under an empty key, and no raise InvalidKeyError if key.empty? precondition…
When was CVE-2026-45363 disclosed?
CVE-2026-45363 was first published in the National Vulnerability Database on May 18, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-45363 actively exploited?
CVE-2026-45363 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 5.0% percentile likelihood of exploitation in the next 30 days — higher percentiles indicate greater predicted risk.
What is the CVSS score of CVE-2026-45363?
CVE-2026-45363 has a CVSS v4.0 base score of 7.4 (CNA self-assessment; NVD's own analysis pending). The EG score is currently aggregating — additional source signals are being incorporated as they become available..
How do I remediate CVE-2026-45363?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2026-45363, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

See which npm, PyPI, Go, and Maven packages are affected by CVE-2026-45363

Explore →

Is Your Infrastructure Affected by CVE-2026-45363?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.