
Prova de conceito de exploit para CVE-2026-26012, demonstrando uma bypass autenticada de permissões de coleção da organização e enumeração de cifras no Vaultwarden. Inclui um script em Python para reproduzir o problema e comparar discrepâncias de acesso às coleções.
Referência NVD: CVE-2026-26012
| CVSSv3 | Vetor de Ataque | Complexidade do Ataque | Privilégios Necessários | Interação do Usuário | Confidencialidade | Integridade | Disponibilidade |
|---|
| 6.5 - MÉDIO | Rede | Baixa | Baixo | Nenhuma | Alta | Nenhuma | Nenhuma |
Fonte: NVD, pontuação CNA (GitHub, Inc.).
Qualquer membro da organização pode recuperar todas as cifras pertencentes à organização, independentemente das permissões de coleção. O endpoint /ciphers/organization-details é acessível a todos os membros da organização e internamente usa Cipher::find_by_org para buscar todas as cifras; os resultados são retornados com CipherSyncType::Organization sem aplicar controle de acesso no nível da coleção. Este repositório fornece um POC para reproduzir o problema para fins estritamente éticos: testes de penetração autorizados, validação de patches e pesquisa de segurança.
python CVE-2026-26012.py -u https://target.example.com -t "YOUR_TOKEN" -uuid "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -o CVE-2026-26012.json
| Curto | Opção | Descrição |
|---|---|---|
-u | --url | URL base do alvo |
-t | --token | Token Bearer |
-uuid | --organization-id | UUID da organização (obrigatório, formato UUID validado) |
-o | --output | Arquivo JSON de saída (padrão: CVE-2026-26012.json) |
-c | --compare-collections | Comparar collectionIds e exibir discrepâncias de acesso |
Comportamento: O comando exporta os detalhes da organização para JSON. Com -c, o script compara as coleções de organization-details e as de /api/collections, exibindo no terminal:
Objetivo: ver rapidamente as lacunas entre o que a API da organização expõe e o que o usuário deveria ver.
organization-details, collectionsConsulte o arquivo LICENSE neste repositório.