JWTのalg=noneによる署名検証回避はどうして起こるのかZennritou👹JWTのalg=noneによる署名検証回避はどうして起こるのか2021/09/08に公開2021/09/092件ElixirSecurityJWTtechおはようございます。なんの話?これの話です。値を信用し、署名検証用の関数の引数として指定したRSA公開鍵を共有鍵として扱ってしまうお話ですどっちも「おいおい冗談だろ」みたいなお話に見えますが、そういう実装もあるのが事実なんですね。署名を検証となっている場合にこの問題が起こり得ます。署名を検証となっていたら大丈夫です。===コメントいただきました。jwksエンドポイントは普通にあります。kty=RSAなやつまで。この方向性での解決策なら、"JWTのヘッダに指定されたalgが属するktyと、鍵に紐づけられたktyが一致することを確認した上で"じゃないですかね。ktyはRFC的にもMUSTですし、これならalg=noneも、HS<=>RSも回避できます。ご指摘の通り、RFCの整合性を取りつつライブラリが実装するのであればこの辺りの実装が落とし所になりそうです。ライブラリは問題が出ないでしょう。