gchq / gchq/CyberChef

Bug report: JWT Verify doesn't require an algorithm

Open
#624 3 comments 0 reactions 0 assignees View on GitHub
feature help wanted
Dominant language
JavaScript
Stars
35.8k
Forks
4.1k
Avg merge
2d 26m
Merged PRs (30d)
33

Description

As detailed [here](https://auth0.com/blog/critical-vulnerabilities-in-json-web-token-libraries/), JWT verification functions should require specifying the algorithm that should have been used, in order to prevent an attacker from changing the algorithm to a symmetric algorithm from an asymmetric one and using the public key to sign the token. Probably low priority for this particular app, but it would be good to at least have the option.

Contributor guide

Open the contributing guide

Research direction

Start by locating the JWT verification functions and reviewing the linked Auth0 vulnerability discussion. Determine how verification currently selects an algorithm and define the expected behavior for requiring or explicitly allowing one. Done means verification prevents the described algorithm-switching risk and has coverage for the new behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
authentication, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.