脆弱性・CVE速報深刻度: 緊急

OpenDeepWiki 2.0.6 まで、既定の JWT 署名鍵が公開されており管理者トークンを偽造できる(CVE-2026-119597): 修正はコードのみで、リリース版は未公開

目次(4)

CVE-2026-119597

AIDotNet の OpenDeepWiki 2.0.6 まででは、設定ファイル appsettings.json に JWT の署名鍵が既定値として固定されており、この鍵を使うと認証なしで管理者権限のトークンを偽造できる不具合(CVE-2026-119597、CWE-321)が 10/30 に NVD へ公開されました。CVSS は v3.1 が 9.8、v4.0 が 9.3 の Critical です(どちらも CNA の値)。修正コミットは 10/22 にメインブランチへ入っていますが、2.0.6(9/8)より新しいリリースは確認できていません。

何が起きるか

  • NVD の説明によると、攻撃者は公開されている Jwt:SecretKey を使って HS256 のベアラートークンを作り、Admin ロールの claim を付けることで /api/admin 以下の機能(ユーザー、ロール、リポジトリ、設定、API キーの管理)にアクセスできます。
  • 当サイトでは、v2.0.6 の appsettings.json に鍵の既定値が書かれていること、修正前の Program.cs が鍵が空の場合に環境変数 JWT_SECRET_KEY、それもなければ同じ既定値の文字列に切り替える実装だったことを確認しました。既定値はサンプルの compose ファイルにも書かれていました。
  • そのため、JWT_SECRET_KEY を設定せずに使っている環境では、誰でも同じ鍵でトークンを作れる状態でした。鍵を自分で設定している環境が影響を受けるかは、本記事の確認範囲では分かりません。
  • 実際の悪用の報告は確認できていません。CISA の KEV には載っていません(2026.10.30 版・1766 件で確認)。当サイトでは、トークンの偽造や管理画面へのアクセスを再現していません。

影響を受ける条件

項目内容
対象OpenDeepWiki 2.0.6 まで(NVD・CNA の記載。下限は未確認)
前提既定の鍵のまま運用していること(JWT_SECRET_KEY が未設定、または既知の値)。管理 API に到達できること
評価CVSS v3.1 は 9.8(Critical、AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)、v4.0 は 9.3。値は CNA の VulnCheck が付けたもので、NVD 自身の評価ではない。NVD の状態は「Deferred」(10/30 時点)。GitHub の勧告(GHSA-fc52-73gp-r537)も Critical で同値、未レビュー
弱点の分類CWE-321(ハードコードされた暗号鍵の使用)
EPSS0.37%(パーセンタイル 31.0%、10/31 時点、FIRST)
修正コミット 1bf0f4b(10/22 17:47 UTC、メインブランチ)。リリース版は未確認

修正の内容と対応

修正コミット(1bf0f4b)の差分を読みました。

  • appsettings.json の鍵の既定値を空にし、起動時に鍵を検査する処理を追加しています。空、32 文字未満、公開済みの既定値(サンプルに書かれていた 3 種類)のときは起動を拒否します。開発環境に限り、一時的なランダム鍵を使います。
  • compose ファイルや README の例からも既定値を外し、JWT_SECRET_KEY を必須にしました。
  • メインブランチは v2.0.6 より 23 コミット先にあり、修正コミットはその中に含まれます(compare で確認)。v2.0.6 より新しいタグやリリースは見つかりませんでした。

対応として考えられるのは次のとおりです。

  1. 修正を含むリリースが出るまでは、JWT_SECRET_KEY に十分に長いランダムな値(修正コミットの例では openssl rand -base64 48)を必ず設定します。
  2. 鍵を変えると既存のトークンは無効になります。過去に既定の鍵で運用していた場合は、管理 API のアクセスや管理者・API キーの変更履歴を確認します(本記事の推定)。
  3. 管理 API を外部に公開しない、アクセス元を絞る、といった制限も有効と考えられます(推定で、効果は検証していません)。
  4. メインブランチからビルドして使う場合は、修正コミットを含むことを確認します。

未確認の点

  • 悪用の報告は確認できていません。KEV にも載っていません。
  • NVD の評価は未実施(状態は Deferred)で、CVSS は CNA(VulnCheck)の値です。
  • 当サイトでは、トークンの偽造と管理 API へのアクセスを再現していません。コードと設定の確認のみです。
  • 2.0.6 より前の版が対象かは確認できていません。
  • 修正を含むリリースの公開予定は確認できていません。修正コミットを含まない配布イメージの有無も未確認です。
  • 日付は、NVD の公開(2026-10-30 14:16 UTC)、GitHub のコミットとリリースの記録に基づきます。

この記事について

出典

この記事を共有