Nimbus JOSE + JWT 2.26.1

A new maintenance release of the Nimbus JOSE + JWT library was pushed to Maven Central today. It bears the version number 2.26.1

What's in it?

1. Hardened RSA PKCS#1 v1.5 decryption

RSA PKCS#1 v1.5 decryption was tweaked to limit exposure to timing attacks by replacing the Java exception signalling content encryption key (CEK) length mismatch with a simple null return.

The credits for this improvement go to Juraj Somorovsky. You can read the related article that provoked this security update.

2. More robust BASE64 and BASE64URL decoding

The BASE64 and BASE64URL decoder can now successfully handle separator characters (\r, \n) as well as other illegal characters. With that you should be able to parse JOSE and JWT objects that for some reason contain unexpected characters.

A new major 3.0 Nimbus JOSE+JWT release is on the horizon

It will be a braking change, introducing immutable JOSE headers to make the library API more robust and also to enable encryption algorithm providers to insert additional parameters into the header during encryption (required by the AxxxGCM family of algorithms).

The 3.0 release will also include support for the AES/GCM key encryption algorithms mentioned above. These were contributed by Melisa Halsband from CertiVox UK. If resources permit another one or two of the remaining JWE algorithms for AES key wrap and ECDH-ES may also make it into the third release.

JSON serialisation has been deferred to 4.0 due to low developer interest, but feel free to vote for it, or better, contribute a pull request, if that's important to you.

Download

The Maven Dependency for the new maintenance release:

<dependency>
    <groupId>com.nimbusds</groupId>
    <artifactId>nimbus-jose-jwt</artifactId>
    <version>2.26.1</version>
</dependency>

For other methods check out the downloads page.