CVE Explorer
CVE-2026-45363
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, affectin
Known exploited
Not asserted
Disputed
No
Stale source
No
Conflicts
1
Preserved source conflicts
No provider value was silently selected as the winner.
cwe · 3 assertions
{"cweId":"CWE-287","description":"CWE-287: Improper Authentication","lang":"en","type":"CWE"}
- cve_program_cvelist_v5cweurn:baitaphish:normalized-source-record:v2:a284722c44085a40a1138b7a92834c2e29cf3eaf8329fbdfefec14edf8538399 · sha256:5532ad9e52c9e0c7… · /containers/cna/problemTypes/0/descriptions/0
{"cweId":"CWE-1391","description":"CWE-1391: Use of Weak Credentials","lang":"en","type":"CWE"}
- cve_program_cvelist_v5cweurn:baitaphish:normalized-source-record:v2:a284722c44085a40a1138b7a92834c2e29cf3eaf8329fbdfefec14edf8538399 · sha256:5532ad9e52c9e0c7… · /containers/cna/problemTypes/2/descriptions/0
{"cweId":"CWE-326","description":"CWE-326: Inadequate Encryption Strength","lang":"en","type":"CWE"}
- cve_program_cvelist_v5cweurn:baitaphish:normalized-source-record:v2:a284722c44085a40a1138b7a92834c2e29cf3eaf8329fbdfefec14edf8538399 · sha256:5532ad9e52c9e0c7… · /containers/cna/problemTypes/1/descriptions/0
Affected products and versions
1 source assertion{"product":"ruby-jwt","vendor":"jwt","versions":[{"status":"affected","version":"< 2.10.3"},{"status":"affected","version":">= 3.0.0, < 3.2.0"}]}
- cve_program_cvelist_v5affectedurn:baitaphish:normalized-source-record:v2:a284722c44085a40a1138b7a92834c2e29cf3eaf8329fbdfefec14edf8538399 · sha256:5532ad9e52c9e0c7… · /containers/cna/affected/0
Provider-owned CVSS observations
1 source assertion{"metric":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":9.1,"baseSeverity":"CRITICAL","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","version":"3.1"},"metric_type":"cvssV3_1"}
- cve_program_cvelist_v5cvssurn:baitaphish:normalized-source-record:v2:a284722c44085a40a1138b7a92834c2e29cf3eaf8329fbdfefec14edf8538399 · sha256:5532ad9e52c9e0c7… · /containers/cna/metrics/0/cvssV3_1
CWE assertions
3 source assertions{"cweId":"CWE-287","description":"CWE-287: Improper Authentication","lang":"en","type":"CWE"}
- cve_program_cvelist_v5cweurn:baitaphish:normalized-source-record:v2:a284722c44085a40a1138b7a92834c2e29cf3eaf8329fbdfefec14edf8538399 · sha256:5532ad9e52c9e0c7… · /containers/cna/problemTypes/0/descriptions/0
{"cweId":"CWE-1391","description":"CWE-1391: Use of Weak Credentials","lang":"en","type":"CWE"}
- cve_program_cvelist_v5cweurn:baitaphish:normalized-source-record:v2:a284722c44085a40a1138b7a92834c2e29cf3eaf8329fbdfefec14edf8538399 · sha256:5532ad9e52c9e0c7… · /containers/cna/problemTypes/2/descriptions/0
{"cweId":"CWE-326","description":"CWE-326: Inadequate Encryption Strength","lang":"en","type":"CWE"}
- cve_program_cvelist_v5cweurn:baitaphish:normalized-source-record:v2:a284722c44085a40a1138b7a92834c2e29cf3eaf8329fbdfefec14edf8538399 · sha256:5532ad9e52c9e0c7… · /containers/cna/problemTypes/1/descriptions/0
Source references
5 source assertions{"name":"https://github.com/jwt/ruby-jwt/commit/9820020869ad147b941e49d96ab8beba35532964","tags":["x_refsource_MISC"],"url":"https://github.com/jwt/ruby-jwt/commit/9820020869ad147b941e49d96ab8beba35532964"}
- cve_program_cvelist_v5referenceurn:baitaphish:normalized-source-record:v2:a284722c44085a40a1138b7a92834c2e29cf3eaf8329fbdfefec14edf8538399 · sha256:5532ad9e52c9e0c7… · /containers/cna/references/1
{"name":"https://github.com/jwt/ruby-jwt/commit/db560b769a07bd9724e77ff505011ac01872106f","tags":["x_refsource_MISC"],"url":"https://github.com/jwt/ruby-jwt/commit/db560b769a07bd9724e77ff505011ac01872106f"}
- cve_program_cvelist_v5referenceurn:baitaphish:normalized-source-record:v2:a284722c44085a40a1138b7a92834c2e29cf3eaf8329fbdfefec14edf8538399 · sha256:5532ad9e52c9e0c7… · /containers/cna/references/2
{"name":"https://github.com/jwt/ruby-jwt/releases/tag/v2.10.3","tags":["x_refsource_MISC"],"url":"https://github.com/jwt/ruby-jwt/releases/tag/v2.10.3"}
- cve_program_cvelist_v5referenceurn:baitaphish:normalized-source-record:v2:a284722c44085a40a1138b7a92834c2e29cf3eaf8329fbdfefec14edf8538399 · sha256:5532ad9e52c9e0c7… · /containers/cna/references/3
{"name":"https://github.com/jwt/ruby-jwt/releases/tag/v3.2.0","tags":["x_refsource_MISC"],"url":"https://github.com/jwt/ruby-jwt/releases/tag/v3.2.0"}
- cve_program_cvelist_v5referenceurn:baitaphish:normalized-source-record:v2:a284722c44085a40a1138b7a92834c2e29cf3eaf8329fbdfefec14edf8538399 · sha256:5532ad9e52c9e0c7… · /containers/cna/references/4
{"name":"https://github.com/jwt/ruby-jwt/security/advisories/GHSA-c32j-vqhx-rx3x","tags":["x_refsource_CONFIRM"],"url":"https://github.com/jwt/ruby-jwt/security/advisories/GHSA-c32j-vqhx-rx3x"}
- cve_program_cvelist_v5referenceurn:baitaphish:normalized-source-record:v2:a284722c44085a40a1138b7a92834c2e29cf3eaf8329fbdfefec14edf8538399 · sha256:5532ad9e52c9e0c7… · /containers/cna/references/0
Attribution and limitations
- CVE Program CVEList V5: Reproduce the MITRE copyright designation and CVE license in copies. Source →
Provider severity values are preserved separately. Baitaphish does not convert them into a risk rating, infer affected products, or treat EPSS as observed exploitation.