PyJWTは、JSON Web Tokenの規格をPythonで実装したものです。2.0.0a1から2.15.0までのバージョンにおいて、PyJWKClientのget_signing_key_from_jwt関数に問題があり、ペイロードの解析時にValueErrorは捕捉されますが、RecursionErrorは捕捉されません。これは、攻撃者が制御する再帰的にネストされたペイロードがjson.loadsに到達した場合に発生します。その結果、PyJWTのドキュメントに記載されている例外処理では、このエラーが適切に処理されません。したがって、認証されていないリクエストが例外を発生させ、HTTP 500エラーが発生する可能性があります。影響を受ける実装には、jwt/api_jwt.pyファイルが含まれており、verify_signature=Falseが設定されています。この問題は、バージョン2.15.0で修正されました。

CVSS 3.1: 7.5 (高い) (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)