概要
ruby-jwt(jwt gem)において、HMAC 署名に使用する秘密鍵が空(empty string)の場合に署名検証がバイパスされる脆弱性が確認されました。本脆弱性は CVE-2026-44351 の言語横断的な問題のひとつとして報告されており、攻撃者が任意の JWT を偽造してアプリケーションを欺く可能性があります。
JWT 認証に依存する Ruby / Rails アプリケーションで、HMAC アルゴリズム(HS256 など)を使用している場合は影響範囲の確認が推奨されます。
CVSSベクトル
CVSS スコアは本稿執筆時点で NVD による評価が未完了のため、数値は未確定です。GHSA 分類は High です。
| 項目 | 内容 |
|---|---|
| 深刻度 | High(GHSA 分類) |
| 脆弱性種別 | 署名検証バイパス(空キー HMAC) |
| 攻撃経路 | ネットワーク(JWT 送信) |
| 関連 CVE | CVE-2026-44351(言語横断的な同種問題) |
影響を受けるソフトウェア
| 製品名 | エコシステム | 影響バージョン |
|---|---|---|
| jwt(2.x 系) | RubyGems | < 2.10.3 |
| jwt(3.x 系) | RubyGems | < 3.2.0 |
修正バージョンと回避策
- 修正バージョン:
jwt2.10.3 以降(2.x 系)または 3.2.0 以降(3.x 系) - Gemfile の更新例:
gem 'jwt', '>= 2.10.3' # 2.x 系を使用の場合 gem 'jwt', '>= 3.2.0' # 3.x 系を使用の場合 - 根本的な回避策: HMAC 署名鍵に空文字列を使用しないよう確認する。本番環境では十分な長さのランダムな秘密鍵を使用してください
関連リンク
データソース: NVD (NIST), GitHub Advisory Database AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
