json-jwt 0.5.5

3 security vulnerabilities found in version 0.5.5

json-jwt improper input validation due to lack of element count when splitting string

high severity CVE-2019-18848
high severity CVE-2019-18848
Patched versions: >= 1.11.0

The json-jwt gem before 1.11.0 for Ruby lacks an element count during the splitting of a JWE string.

json-jwt allows bypass of identity checks via a sign/encryption confusion attack

medium severity CVE-2023-51774
medium severity CVE-2023-51774
Patched versions: ~> 1.15.3, >= 1.15.3.1, >= 1.16.6

The json-jwt (aka JSON::JWT) gem versions 1.16.5 and below sometimes allows bypass of identity checks via a sign/encryption confusion attack. For example, JWE can sometimes be used to bypass JSON::JWT.decode.

Auth tag forgery vulnerability with AES-GCM encrypted JWT

medium severity CVE-2018-1000539
medium severity CVE-2018-1000539
Patched versions: >= 1.9.4
Unaffected versions: < 0.5.1

Ruby's OpenSSL bindings do not check the length of the supplied authentication tag when decrypting an authenticated encryption mode such as AES-GCM, leaving this up to the authors of a gem/app to implement for properly validating the message.

json-jwt was not checking for the authentication tag length, meaning that with a one byte tag the JWT would be considered not tampered with. This means that with an average of 128 (max 256) attempts an attacker can forge a valid signature.

No officially reported memory leakage issues detected.


This gem version does not have any officially reported memory leaked issues.

Author did not declare license for this gem in the gemspec.


This gem version has a MIT license in the source code, however it was not declared in the gemspec file.

This gem version is available.


This gem version has not been yanked and is still available for usage.