概要
Pythonライブラリ「joserfc」のバージョン1.6.2およびそれ以前に、サービス運用妨害(DoS)につながる脆弱性(CVE-2026-27932)が報告されました。この脆弱性は、JSON Object Signing and Encryption (JOSE) 標準の実装を提供するjoserfcライブラリが、JSON Web Encryption (JWE) トークンをPassword-Based Encryption (PBES2) アルゴリズムで復号する際に、p2c(PBES2 Count)パラメータの値を適切に検証または制限しないことに起因します。これにより、認証されていない攻撃者が意図的に大きな繰り返し回数を指定したJWEトークンを送信することで、サーバーのCPUリソースを過度に消費させ、サービス停止を引き起こす可能性があります。
影響範囲
- Pythonライブラリ
joserfcのバージョン1.6.2およびそれ以前が影響を受けます。 - アプリケーションがJSON Web Encryption (JWE) または JSON Web Token (JWT) の復号処理において、PBES2アルゴリズムの使用を許可している場合に影響を受ける可能性があります。この脆弱性はJWA(JSON Web Algorithms)レイヤーに存在するため、高レベルのJWEおよびJWT復号インターフェースに影響が及ぶと報告されています。
想定される影響
- 認証されていない攻撃者によって、悪意のあるJWEトークンが送信された場合、サーバーのCPUリソースが大量に消費され、サービス運用妨害(DoS)状態に陥る可能性があります。
- これにより、正規のユーザーがサービスを利用できなくなる事態が想定されます。
攻撃成立条件・悪用状況
- 攻撃は認証なしで実行される可能性があります。
- 現時点では、この脆弱性の具体的な悪用状況に関する報告は確認されていません。
推奨対策
今すぐできる対策
joserfcライブラリを、脆弱性が修正されたバージョン(1.6.3以降、またはベンダーが提供する最新バージョン)に速やかにアップデートしてください。- もしアップデートがすぐに困難な場合、アプリケーションのポリシー設定を見直し、PBES2アルゴリズムの使用を一時的に無効化することを検討してください。
中長期的な対策
- アプリケーションが外部からの入力値(特に暗号化パラメータ)を処理する際には、常に厳格な検証と制限を設ける設計を徹底してください。
- 利用しているライブラリやフレームワークのセキュリティ情報を定期的に確認し、最新の状態を維持する運用体制を確立してください。
一時的な緩和策
アプリケーションのセキュリティポリシーにおいて、PBES2アルゴリズム(例: PBES2-HS256+A128KW, PBES2-HS384+A192KW, PBES2-HS512+A256KW など)の使用を一時的に無効化することで、この脆弱性による攻撃リスクを軽減できる可能性があります。ただし、これにより一部の機能が利用できなくなる可能性も考慮する必要があります。
確認方法
- ご自身のシステムで
joserfcライブラリが使用されているかを確認してください。Pythonプロジェクトのrequirements.txtやPipfile.lockなどで依存関係を確認できます。 - 使用されている
joserfcのバージョンが1.6.2以前であるかを確認してください。 - アプリケーションのコードや設定において、JWE/JWTの復号処理でPBES2アルゴリズムが許可されているかを確認してください。
参考情報
- CVE-2026-27932 詳細: https://cvefeed.io/vuln/detail/CVE-2026-27932