何が起きたか
joserfc の jwe.decrypt_json() は、JWE General JSON 形式の recipients 配列の要素数に上限を設けておらず、要素ごとに秘密鍵での復号処理を行います。RSA 鍵(RSA-OAEP など)で JWE を復号するエンドポイントに対し、認証なしの攻撃者が比較的小さなリクエスト1つで大量の RSA 復号を行わせ、CPU を枯渇させるサービス拒否を起こせます。verify_all_recipients=False を指定しても負荷は下がりません。
やること
joserfc を 1.7.5 以降に更新します。
出典
GitHub Advisory Database(GHSA-jpxq-7h8p-2q76)github.com英語 ↗joserfc のセキュリティ勧告github.com英語 ↗上の要約は通り道編集部がまとめたものです。影響範囲と修正版は必ず各出典で確認してください。