Elliptic Curve Key Disclosure Affecting org.bitbucket.b_c:jose4j package, versions [0.3.6,0.5.5)
Threat Intelligence
Do your applications use this vulnerable package?
In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.
Test your applications- Snyk ID SNYK-JAVA-ORGBITBUCKETBC-30206
- published 14 Mar 2017
- disclosed 13 Mar 2017
- credit Antonio Sanso, Quan Nguyan
How to fix?
Upgrade org.bitbucket.b_c:jose4j
to version 0.5.5 or higher.
Overview
org.bitbucket.b_c:jose4j is a robust and easy to use open source implementation of JSON Web Token (JWT) and the JOSE specification suite (JWS, JWE, and JWK). It is written in Java and relies solely on the JCA APIs for cryptography. Please see https://bitbucket.org/b_c/jose4j/wiki/Home for more info, examples, etc...
Affected versions of this package are vulnerable to Elliptic Curve Key Disclosure. A JSON Web Token (JWT) defines a container that transports data between two parties. When a JWT is signed with a private key by one of the parties, it's known as a JSON Web Signature (JWS).
The "JWK" (JSON Web Key) is a JSON based open standard used for creating access tokens. JWK's Header Parameter
allows it to include the public key that corresponds to the key used to sign the JWS. If the Header Parameter includes this public key, an attacker could then use it to generate a private key / public key pair, send the public key together with the signature and the signature will be valid.
This vulnerability is related to npm:node-jose:20170313 and SNYK-JAVA-COMNIMBUSDS-30205