JSON Web Token
JWTはステートレスであることから、JWT単体ではトークンを無効にすることが出来ない。従来のセッション同様、サーバーに状態を保持すれば可能だが、その場合ステートレスの利点は失われる。
セキュリティコンサルタントのTim McLeanは、複数のJWTライブラリがalgクレームに署名無し (none) 等を指定した不正なトークンを処理してしまう脆弱性を報告した。これらの脆弱性は修正されたが、McLeanは同様の問題を防ぐためalgクレーム自体を廃止すべきだと主張している。
署名アルゴリズムの脆弱性については、以下のような方法で対策が可能である。
JWTヘッダーだけを見て検証しない。
アルゴリズムについて知る。
適切なキーサイズを用いる。