概要
- HashiCorp Vault のゼロデイ脆弱性9件をCyataが発見し、全てCVEとして公開前に修正。
- 脆弱性は 認証・ポリシー・MFA・プラグイン などVaultの中核ロジックに存在。
- 問題は ロジックバグ であり、従来のメモリ安全性では防げない深刻なもの。
- 攻撃者は認証突破、権限昇格、RCE (リモートコード実行)まで可能。
- Vaultの 信頼モデル崩壊 がもたらすリスクと、研究の重要性を強調。
信頼モデルが信頼できないとき:Vaultの脆弱性調査
- Vaultはシークレット管理の中核 であり、システムやAPIへのアクセス制御を担う基盤。
- Vaultの侵害=インフラ全体の信頼崩壊を意味。
- Cyataのリサーチチームが HashiCorp Vault を徹底調査し、9件の未公開ゼロデイ脆弱性を発見。
- HashiCorpと連携し、 全脆弱性は公開前に修正・CVE化。
- 発見されたバグは ロックアウト回避、ポリシー無視、なりすまし、RCE (リモートコード実行)など多岐。
- ロジックの失敗 が複数重なることで、現実環境で致命的な攻撃経路を形成。
- これらは メモリ破損やレースコンディション ではなく、認証やポリシー検証層の微妙なロジックミス。
- 過去の研究(Google Project Zero等)はIAMバックエンド中心だったが、今回の調査は Vaultコアの認証フロー に焦点。
HashiCorp Vaultとは
- オープンソースの シークレット管理ツール で、APIキー、DBパスワード、証明書、暗号鍵などを一元管理。
- 細粒度アクセス制御・IDベース認証 を提供し、DevSecOpsパイプラインの基盤として利用。
- 多様な認証方式・柔軟な統合 が特徴。
- Vaultが侵害されると、 全てのシークレットが危険に 晒される。
Vaultの主な機能
- マルチクラウド対応の 動的シークレット管理・暗号化エンジン
- API経由での 中央集約型シークレット保管
- 動的クレデンシャル発行・自動失効
- 人・マシン両対応のIDベースアクセス制御
- データの暗号化サービス
- 証明書の発行・ローテーション・失効管理
- 暗号鍵の配布・有効化・ローテーション
調査手法:他者が見逃した脆弱性の発見
- 数週間にわたり、Vaultのロジック層の脆弱性 を徹底的に手動レビュー。
- request_handling.go などコアファイルのロジックを精査し、信頼境界の曖昧さを追及。
- 自動ツールやファザーは未使用、すべて手動でコードと挙動を分析。
- 攻撃者目線 で最小権限からどこまで進めるかを繰り返し検証。
- 微妙なロジックの不一致・入力の正規化差異 を探し、仮説検証を繰り返す手法。
攻撃パス詳細
ステップ1:userpass認証のロジック欠陥
- userpass(ユーザー名・パスワード)認証 のロックアウト処理に複数のバグ。
- CVE-2025-6004 :大文字小文字の違いでロックアウトカウンターをリセットし、ブルートフォース可能。
- CVE-2025-6011 :タイミング差から有効ユーザー名を特定できる。
影響
- 防御側に気付かれずユーザー名の列挙
- ロックアウト回避による大規模なパスワード総当たり
- シンプルな認証経路でのアクセス制御破壊
ステップ2:LDAP認証のロジックバグとMFA回避
- LDAP認証 でもロックアウト処理の正規化不一致により、膨大な試行回数が可能(CVE-2025-6004)。
- username_as_alias=true 設定時、MFA(多要素認証)制御を EntityID単位で回避可能 (CVE-2025-6003)。
影響
- ロックアウト無効化によるパスワード推測攻撃
- 特定設定下でのMFA回避によるサイレント侵入
ステップ3:TOTP MFAのロジック欠陥
- TOTP(二要素認証) の実装に複数のロジックバグ。
- 使用済みパスコードの列挙
- スペース追加による一度限り制限の回避
- 時間スキューやEntityID切り替えでレートリミットを回避
- CVE-2025-6016 :これらを組み合わせることでMFAの効果が大幅減少。
影響
- MFAコードの総当たりや再利用が現実的に可能
ステップ4:証明書認証とエンティティなりすまし
- 非CAモードの証明書認証 で、CN(Common Name)と公開鍵の照合に不一致。
- CVE-2025-6037 :証明書の秘密鍵を持つ攻撃者が任意のCNでなりすまし可能。
影響
- マシンIDのなりすまし、横断的な権限奪取
ステップ5:管理者からrootへの権限昇格
- ポリシー名の正規化処理の不一致 により、" root"や"ROOT"などでroot権限を回避的に付与可能。
- CVE-2025-5999 :管理者がrootに昇格できるロジックバグ。
影響
- 厳重に保護されたroot権限の静かな奪取
ステップ6:プラグイン機構悪用によるRCE
- プラグインディレクトリに任意の実行ファイルを書き込み、実行 できる経路を発見。
- CVE-2025-6000 :監査ログのprefix機能等を悪用し、RCEを実現。
影響
- サーバー上で任意コード実行、Vault完全支配
事後の攻撃シナリオ
- Vaultランサムウェア化 :暗号化キーを削除し、Vaultデータを永久に読めなくする。
- ステルスな永続化 :Enterprise機能のControl Groupを悪用し、監査されずにバックドア維持。
典型的な攻撃パス例
- userpass経路
- ユーザー名列挙 → ロックアウト回避 → MFA突破 → 管理者昇格 → RCE
- ldap経路
- ロックアウト回避 → MFA回避 → 管理者昇格 → RCE
- 証明書経路
- 管理者なりすまし → root昇格 → RCE
全てのパスが、root権限とサーバー上のRCEに収束
脆弱性の歴史
- CVE-2025-6037 :8年以上前から存在、初期は完全な認証バイパス。
- CVE-2025-6000 :9年間潜伏、Vault初の公的RCE。
開示・対応
- Cyataは 責任ある開示 を徹底し、HashiCorpと協力して全脆弱性を修正。
- HashiCorpは迅速かつプロフェッショナルに対応し、パッチを公開。
- 本調査は セキュリティ研究とベンダー連携の模範例。
結論と教訓
- メモリ安全性だけでは守れない、ロジックバグの深刻さ を証明。
- Vaultの信頼モデルは、微細なロジック不整合で静かに崩壊する危険性。
- 攻撃者はMFA突破、なりすまし、root奪取、RCEまで可能。
- 信頼モデルそのものが攻撃対象となるため、 内部動作の深い理解と検証が不可欠。
- 本研究は 手動レビューと攻撃者的思考 による成果であり、今後もセキュリティコミュニティの不断の努力が重要。
参考
- HashiCorp公式アドバイザリ
- Cyataリサーチブログ