From ce16db4145e71cf1264e4f40e55c582f13c68798 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Fri, 15 Oct 2021 11:52:41 +0200 Subject: [PATCH] BUG/MINOR: jwt: use CRYPTO_memcmp() to compare HMACs As Tim reported in github issue #1414, we ought to use a constant-time memcmp() when comparing hashes to avoid time-based attacks. Let's use CRYPTO_memcmp() since this code already depends on openssl. No backport is needed, this was just merged into 2.5. --- src/jwt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/jwt.c b/src/jwt.c index 0e233059f..24459b066 100644 --- a/src/jwt.c +++ b/src/jwt.c @@ -205,7 +205,7 @@ jwt_jwsverify_hmac(const struct jwt_ctx *ctx, const struct buffer *decoded_signa ctx->jose.length + ctx->claims.length + 1, signature, &signature_length); if (hmac_res && signature_length == decoded_signature->data && - (memcmp(decoded_signature->area, signature, signature_length) == 0)) + (CRYPTO_memcmp(decoded_signature->area, signature, signature_length) == 0)) retval = JWT_VRFY_OK; free_trash_chunk(trash);