🎄 Join our Annual Holiday wargame and win prizes!


JWT Algorithm Confusion

JWT Algorithm Confusion (Key Confusion) happens when an adversary can change the key and algorithm used for verifying the token and get unauthenticated access to the resource. Usually this vulnerability happens when the app supports both symmetric (e.g. HS256) and asymmetric (e.g. RS256) and the adversary can use asymmetric public key to generate symmetric tokens.

Remediation

  • Where possible only support either symmetric or asymmetric algorithm. Not both.
  • Enforce a preferred algorithm used for verification. Do not rely on token header.

Metadata

  • Severity: high
  • Slug: jwt-algorithm-confusion

CWEs

  • 347: Improper Verification of Cryptographic Signature

OWASP

  • A02:2021: Cryptographic Failures

Available Labs

Select a language to explore available labs for this vulnerability.

Deco line
Deco line

Play AppSec WarGames

Want to skill-up in secure coding and AppSec? Try SecDim Wargames to learn how to find, hack and fix security vulnerabilities inspired by real-world incidents.

Deco line
Deco line

Got a comment?

Join our secure coding and AppSec community. A discussion board to share and discuss all aspects of secure programming, AppSec, DevSecOps, fuzzing, cloudsec, AIsec code review, and more.

Read more