CVE-2026-44351
fast-jwt: 非同期キーリゾルバー経由で空のHMACシークレットが受け入れられる - JWT認証バイパス
- 公開済み
- 2026/05/13
- 更新済み
- 2026/05/14
- CNA の割り当て
- GitHub_M
- 観察された証拠
- 2026/09/15
プライマリ CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N低 · 今後 30 日間
- パーセンタイル
- 15.0%
- モデルの日付
- 2026/09/21
EPSS は統計的な推定値であり、確実性や影響の尺度ではありません。 CVSS、KEV ステータス、暴露、環境と組み合わせます。
概要
fast-jwtは高速なJSON Web Token(JWT)実装を提供します。6.2.4より前のバージョンでは、fast-jwtの非同期キーリゾルバーフローにおける重大な認証バイパス脆弱性により、未認証の攻撃者が任意のJWTを偽造し、正規のものとして受け入れさせることが可能でした。アプリケーションのキーリゾルバーが空文字列('')を返した場合、例えば一般的な`keys[decoded.header.kid] || ''`というJWKS形式のフォールバックを介して、fast-jwtはそれをゼロ長のBufferに変換し、`crypto.createSecretKey`に渡し、そこから`allowedAlgorithms = ['HS256','HS384','HS512']`を導出し、その後トークンの署名を空鍵HMACに対して検証します。攻撃者は単に`HMAC-SHA256(key='', input='${header}.${payload}')`を計算するだけで、Nodeはこれを問題なく受け入れ、検証器は攻撃者が選択したペイロード(sub、admin、scopesなど)を正規のものとして返します。この脆弱性は6.2.4で修正されています。
ソース
1CVE-2026-44351の概念実証。fast-jwt <6.2.4における認証バイパスで、空のHMACキーにより攻撃者が任意のJWTを偽造し、有効なものとして受理させることができます。
責任ある使用
脆弱性情報は、自分が所有しているシステム、またはテストを許可されているシステムでのみ使用してください。 Kitploit は公開研究メタデータにリンクしており、エクスプロイト コードや悪意のあるペイロードは保存しません。