Subject: [OAUTH-WG] JWT: Algorithm choice as an attack vector

From: Maciej Kwidzinski <[email-masked]>
Date: Mon, 3 Oct 2016 17:46:36 +0200

Hi,

Tim McLean describes an attack vector on JWT-protected services in his
blog post: https://auth0.com/blog/critical-vulnerabilities-in-json-web-token-libraries/

The culprit is relying on the algorithm in the JWT header. The
workaround/recommendation is to ignore the algorithm from the header
and use a predefined one.

The current RFC 7519 does not address this vulnerability.
Will this problem be addressed in the standard?

Best regards,
Maciej Kwidziński

---

From: Vladimir Dzhuvinov <[email-masked]>
Date: Thu, 6 Oct 2016 08:11:12 +0300

Hi Maciej,

Apps must not accept arbitrary JWTs, neither let the JWT header alone
drive the JWT validation process.

A good app contract will specify which algs and header parameters are
accepted, and discard all JWTs that don't match these rules, before
passing the JWTs for validation to the library.

On 03/10/16 18:46, Maciej Kwidzinski wrote:
> _______________________________________________
> OAuth mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/oauth

---

From: Jim Manico <[email-masked]>
Date: Sun, 9 Oct 2016 06:38:11 -1000

While this is ideal it's not always practical for authorization servers
that need to support a wide array of algs and header parameters.

This is also why - in addition to a good app contract - these token
should be proof tokens at multiple layers - including mutual TLS.

Aloha, Jim

-- 
Jim Manico
Manicode Security
https://www.manicode.com