
CVE-2026-26012の概念実証エクスプロイト。Vaultwardenにおける認証済み組織コレクション権限バイパスと暗号列挙を実証します。問題を再現し、コレクションアクセスの不一致を比較するPythonスクリプトが含まれています。
| CVSSv3 | 攻撃ベクトル | 攻撃の複雑さ | 必要な権限 | ユーザー操作 | 機密性 | 完全性 | 可用性 |
|---|
| 6.5 - MEDIUM | Network | Low | Low | None | High | None | None |
出典: NVD、CNAスコア(GitHub, Inc.)。
組織のメンバーは、コレクション権限に関係なく、組織に属するすべての暗号(cipher)を取得できます。エンドポイント /ciphers/organization-details はすべての組織メンバーがアクセス可能であり、内部で Cipher::find_by_org を使用してすべての暗号を取得します。結果は CipherSyncType::Organization で返され、コレクションレベルのアクセス制御は適用されません。このリポジトリは、厳格に倫理的な目的(認可されたペネトレーションテスト、パッチ検証、セキュリティ研究)のために問題を再現するPoCを提供します。
python CVE-2026-26012.py -u https://target.example.com -t "YOUR_TOKEN" -uuid "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -o CVE-2026-26012.json
| 短縮形 | オプション | 説明 |
|---|---|---|
-u | --url | ターゲットのベースURL |
-t | --token | Bearerトークン |
-uuid | --organization-id | 組織のUUID(必須、UUID形式の検証済み) |
-o | --output | 出力JSONファイル(デフォルト: CVE-2026-26012.json) |
-c | --compare-collections | collectionIdsを比較し、アクセス権限の不一致を表示 |
動作: このコマンドは組織の詳細をJSONにエクスポートします。-c を指定すると、スクリプトは organization-details と /api/collections のコレクションを比較し、ターミナルに以下を表示します:
目的: 組織APIが公開する内容とユーザーが参照すべき内容のギャップを迅速に確認すること。
organization-details、collectionsこのリポジトリの LICENSE ファイルを参照してください。