CVE-2020-15084:Express-jwtライブラリーのセキュリティ更新

公開日:2020年6月30日

CVE番号:CVE-2020-15084

著者:ISTグループ

概要

5.3.3以前のバージョンでは、構成内で指定するアルゴリズムの入力は義務化されていません。

構成内で、アルゴリズムが指定されていない場合、jwks-rsaやその他可能性がある非対称暗号ライブラリーと組み合わせると、認可バイパスにつながりかねません。

自分は影響を受けますか?

以下の条件がすべて当てはまる場合、この脆弱性によって影響を受けることになります。

  • Express-jwtを使用しており、

  • Express-jwt構成内で、アルゴリズムが構成されておらず、

  • jwks-rsaをシークレットとして使用している。

修正方法

Express-jwt構成内で、アルゴリズムを指定します。以下で、適切な構成例を紹介します。

const checkJwt = jwt({
  secret: jwksRsa.expressJwtSecret({
    rateLimit: true,
    jwksRequestsPerMinute: 5,
    jwksUri: `https://{DOMAIN}/.well-known/jwks.json`
  }),
  // Validate the audience and the issuer.
  audience: process.env.AUDIENCE,
  issuer: `https://{DOMAIN}/`,
  // restrict allowed algorithms
  algorithms: ['RS256']
});

Was this helpful?

/

この更新はユーザーに影響を与えますか?

許可されているアルゴリズムが指定されている場合、パッチで提供される修正はユーザーには影響しません。パッチ修正により、アルゴリズムが必須の構成となりました。