プラットフォーム
nodejs
コンポーネント
jsonwebtoken
修正版
9.0.0
jsonwebtokenライブラリのバージョン8.5.1以下には、署名検証においてレガシーで安全でない鍵タイプが誤って使用される可能性がある脆弱性(CVE-2022-23539)が存在します。例えば、DSA鍵がRS256アルゴリズムで使用される可能性があります。この脆弱性により、認証バイパスなどのリスクが生じる可能性があります。影響を受けるのは、特定の鍵タイプとアルゴリズムの組み合わせ以外を使用している場合です。この問題はバージョン9.0.0で修正されています。
jsonwebtokenライブラリのCVE-2022-23539は、設定が誤っている場合、レガシーで安全でないキータイプを使用して署名を検証することを許可します。たとえば、DSAキーをRS256アルゴリズムで使用できることを意味します。影響を受けるバージョンは8.5.1以下です。CVSSは8.1のスコアが付与されており、高いリスクを示しています。この脆弱性は、認証と認可のためにJWTに依存するアプリケーションにとって特に懸念されます。攻撃者はトークンを偽造し、保護されたリソースへの不正アクセスを取得する可能性があります。ECキーとES256、ES384、ES512アルゴリズムの組み合わせは影響を受けません。
攻撃者は、jsonwebtokenライブラリを誤って構成して、RS256アルゴリズムとのDSAキータイプの使用を許可することで、この脆弱性を悪用する可能性があります。これにより、攻撃者はDSAキーを使用して偽造されたJWTトークンを作成でき、アプリケーションが脆弱なライブラリバージョンを使用している場合、これらのトークンを有効として受け入れる可能性があります。エクスプロイトの成功は、ライブラリの誤った構成と、攻撃者がDSAキーを生成する能力に依存します。エクスプロイトの結果、保護されたリソースへの不正アクセス、機密データの盗難、またはアプリケーションの制御の奪取が発生する可能性があります。
エクスプロイト状況
EPSS
0.07% (22% パーセンタイル)
CVSS ベクトル
この脆弱性を軽減するための解決策は、jsonwebtokenライブラリをバージョン9.0.0以降に更新することです。このバージョンは、特定のアルゴリズムとの安全でないキータイプの使用を制限することで、この問題を修正します。さらに、アプリケーションの構成を調べて、安全で互換性のあるアルゴリズムとキータイプのみが使用されていることを確認してください。受信したJWTトークンが有効であり、改ざんされていないことを保証するために、コードに追加の検証を実装することを検討してください。更新後には徹底的なテストを実行して、脆弱性が修正され、アプリケーションの機能が影響を受けていないことを確認してください。プロジェクトの依存関係を定期的に監視して、新しい脆弱性を検出し、必要なセキュリティ更新を適用します。
Actualice la biblioteca jsonwebtoken a la versión 9.0.0 o superior para validar las combinaciones de tipo de clave asimétrica y algoritmo. Si necesita usar combinaciones inválidas, configure la opción `allowInvalidAsymmetricKeyTypes` en `true` en las funciones `sign()` y/o `verify()`.
脆弱性分析と重要アラートをメールでお届けします。
JWT(JSON Web Token)は、JSONオブジェクトとして情報を安全に送信するためのオープンな標準です。認証と認可によく使用されます。
更新は、攻撃者がJWTトークンを偽造し、不正アクセスを取得する可能性があるセキュリティ脆弱性を修正します。
すぐに更新できない場合は、アプリケーションの構成を調べて、安全なアルゴリズムとキータイプのみが使用されていることを確認してください。
プロジェクトのjsonwebtokenライブラリのバージョンを確認してください。8.5.1以下の場合、脆弱です。
プロジェクトの依存関係のセキュリティ分析ツールがあり、この脆弱性を検出できます。