CVE-2023-51774
json-jwt allows bypass of identity checks via a sign/encryption confusion attack
The json-jwt (aka JSON::JWT) gem 1.16.3 for Ruby sometimes allows bypass of identity checks via a sign/encryption confusion attack. For example, JWE can sometimes be used to bypass JSON::JWT.decode.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
8.4
The json-jwt (aka JSON::JWT) gem 1.16.3 for Ruby sometimes allows bypass of identity checks via a sign/encryption confusion attack. For example, JWE can sometimes be used to bypass JSON::JWT.decode.
- Record
CVE-2023-51774- CVSS 3.1
- 8.4 High
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-284
- Updated
- 2026-11-02
EUVDEUVD-2024-0613
8.4
The json-jwt (aka JSON::JWT) gem 1.16.3 for Ruby sometimes allows bypass of identity checks via a sign/encryption confusion attack. For example, JWE can sometimes be used to bypass JSON::JWT.decode.
- Record
EUVD-2024-0613- CVSS 3.1
- 8.4 High
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-c8v6-786g-vjx6 No score
json-jwt allows bypass of identity checks via a sign/encryption confusion attack
The json-jwt (aka JSON::JWT) gem 1.16.x before 1.16.6, 1.15.x before 1.15.3.1 for Ruby sometimes allows bypass of identity checks via a sign/encryption confusion attack. For example, JWE can sometimes be used to bypass JSON::JWT.decode.
- Record
GHSA-c8v6-786g-vjx6- Updated
- 2026-11-02
NVD
8.4
The json-jwt (aka JSON::JWT) gem 1.16.3 for Ruby sometimes allows bypass of identity checks via a sign/encryption confusion attack. For example, JWE can sometimes be used to bypass JSON::JWT.decode.
- Record
CVE-2023-51774- CVSS 3.1
- 8.4 High
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-284
- Updated
- 2026-11-02
OSV
8.4
The json-jwt (aka JSON::JWT) gem 1.16.3 for Ruby sometimes allows bypass of identity checks via a sign/encryption confusion attack. For example, JWE can sometimes be used to bypass JSON::JWT.decode.
- Record
CVE-2023-51774- CVSS 3.1
- 8.4 High
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2023-51774
8.4
The json-jwt (aka JSON::JWT) gem 1.16.3 for Ruby sometimes allows bypass of identity checks via a sign/encryption confusion attack. For example, JWE can sometimes be used to bypass JSON::JWT.decode.
- Record
UBUNTU-CVE-2023-51774- CVSS 3.1
- 8.4 High
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVGHSA-c8v6-786g-vjx6 No score
json-jwt allows bypass of identity checks via a sign/encryption confusion attack
The json-jwt (aka JSON::JWT) gem 1.16.x before 1.16.6, 1.15.x before 1.15.3.1 for Ruby sometimes allows bypass of identity checks via a sign/encryption confusion attack. For example, JWE can sometimes be used to bypass JSON::JWT.decode.
- Record
GHSA-c8v6-786g-vjx6- Updated
- 2026-11-02
OSVopenSUSE-SU-2025:0004-1 No score
Security update for rubygem-json-jwt
This update for rubygem-json-jwt fixes the following issues:
-
New upstream release 1.16.6, see bundled CHANGELOG.md
-
Remove padding oracle by @btoews in https://github.com/nov/json-jwt/pull/109
-
Fixes CVE-2023-51774 boo#1220727
-
updated to version 1.11.0
- no changelog found
- Fixes CVE-2019-18848 boo#1156649
- Record
openSUSE-SU-2025:0004-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
json-jwtRubyGems |
1.16.0 up to 1.16.6 | 1.16.6 |
json-jwtRubyGems |
before 1.15.3.1 | 1.15.3.1 |
json-jwtRubyGems |
1.16.0 up to 1.16.6, plus listed versions 1.16.11.16.21.16.31.16.41.16.5 |
1.16.6 |
json-jwtRubyGems |
before 1.15.3.1, plus listed versions 0.0.00.0.10.0.20.0.30.0.4 Show 45 moreShow less0.0.50.0.60.0.70.1.00.1.10.1.20.1.30.1.40.1.50.1.60.1.70.1.80.2.00.3.00.3.10.3.20.3.30.4.00.4.10.4.20.4.30.5.00.5.10.5.20.5.30.5.40.5.50.5.60.6.00.6.10.7.00.7.0.alpha0.7.0.alpha20.7.10.8.00.8.11.0.01.0.11.0.21.0.31.1.01.10.01.10.11.10.21.11.0 |
1.15.3.1 |
ruby-json-jwtUbuntu:18.04:LTS |
All versions, plus listed versions 1.7.2-1 |
None known |
ruby-json-jwtUbuntu:20.04:LTS |
All versions, plus listed versions 1.9.4-11.11.0-1 |
None known |
ruby-json-jwtUbuntu:22.04:LTS |
All versions, plus listed versions 1.11.0-11.13.0-11.13.0-1ubuntu0.1 |
None known |
ruby-json-jwtUbuntu:24.04:LTS |
All versions, plus listed versions 1.14.0-2 |
None known |
ruby-json-jwtUbuntu:25.10 |
All versions, plus listed versions 1.16.7-1 |
None known |
ruby-json-jwtUbuntu:26.10 |
All versions, plus listed versions 1.17.0-11.17.1-11.17.2-1 |
None known |
Show 5 moreShow less
| Package | Affected | Fixed |
|---|---|---|
ruby-json-jwtUbuntu:26.04:LTS |
All versions, plus listed versions 1.16.7-11.17.0-1 |
None known |
rubygem-aes_key_wrapSUSE:Package Hub 15 SP5 From an advisory covering 2 CVEs |
before 1.1.0-bp155.2.1 | 1.1.0-bp155.2.1 |
rubygem-json-jwtSUSE:Package Hub 15 SP5 From an advisory covering 2 CVEs |
before 1.16.6-bp155.3.3.1 | 1.16.6-bp155.3.3.1 |
rubygem-aes_key_wrapopenSUSE:Leap 15.5 From an advisory covering 2 CVEs |
before 1.1.0-bp155.2.1 | 1.1.0-bp155.2.1 |
rubygem-json-jwtopenSUSE:Leap 15.5 From an advisory covering 2 CVEs |
before 1.16.6-bp155.3.3.1 | 1.16.6-bp155.3.3.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2023-51774 is a high vulnerability (CVSS 8.4) in Json-jwt Project Json-jwt, published December 25, 2023. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.23%, the 14th percentile. Fixed in json-jwt 1.16.6.
References
github.com/P3ngu1nW/CVE_Request/blob/main/novjson-jwt.md
nvd.nist.gov/vuln/detail/CVE-2023-51774
github.com/nov/json-jwt/issues/120
github.com/nov/json-jwt/commit/9c4d842a9465bd7960570ca326c3de79b4abc9d0
github.com/rubysec/ruby-advisory-db/blob/master/gems/json-jwt/CVE-2023-51774.yml
github.com/nov/json-jwt/issues/121
Show 11 moreShow less
github.com/nov/json-jwt/commit/593ea8bcaf2629048bad8c036191f2da0a2e713c
github.com/advisories/GHSA-c8v6-786g-vjx6
github.com/CVEProject/cvelistV5/tree/main/cves/2023/51xxx/CVE-2023-51774.json
github.com/nov/json-jwt
ubuntu.com/security/CVE-2023-51774
cve.org/CVERecord?id=CVE-2023-51774
lists.opensuse.org/archives/list/[email protected]/thread/FICWL2K7EGMUBVQ6CHEQYANYFEU4XBG4
bugzilla.suse.com/1156649
bugzilla.suse.com/1220727
suse.com/security/cve/CVE-2019-18848
suse.com/security/cve/CVE-2023-51774
Left out here: 37 versions. The JSON record has them.