
CVE-2026-27579 - Mauvaise configuration CORS – Origine arbitraire avec identifiants → Exposition des données de compte authentifiées entre origines croisées
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N
Le projet realtime-collaboration-platform contenait une mauvaise configuration CORS dans sa configuration backend Appwrite.
Le serveur :
Cette combinaison permettait à un domaine contrôlé par un attaquant de :
Cela a entraîné l'exposition de :
Le backend ne parvenait pas à valider et restreindre correctement l'en-tête Origin.
Configuration inappropriée :
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Ou réflexion dynamique d'origines arbitraires.
Cela viole les principes de sécurité CORS car :
Les navigateurs n'autorisent les requêtes cross-origin avec informations d'identification que lorsque l'origine est explicitement approuvée.
Au lieu de cela, l'application approuvait n'importe quelle origine, créant un vecteur d'exfiltration de données cross-origin.
| Zone d'impact | Effet |
|---|---|
| Confidentialité | ÉLEVÉE |
| Intégrité | Aucun |
| Disponibilité | Aucun |
| Portée | Modifiée |
Un attaquant pourrait :
Aucun privilège direct requis.
Cela en fait une attaque côté client puissante avec un potentiel d'exploitation réel.
fetch("https://target-appwrite-endpoint/v1/account", {
credentials: "include"
})
.then(res => res.json())
.then(data => {
console.log("Exfiltrated:", data);
});
Si la victime est connectée, son cookie de session est inclus automatiquement.
En raison du CORS permissif, l'attaquant peut lire la réponse.
Une atténuation appropriée nécessite :
Exemple de configuration correcte :
Access-Control-Allow-Origin: https://trusted-domain.com
Access-Control-Allow-Credentials: true
Ou :
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: false
Mauvaise configuration CORS + informations d'identification = Fuite de données.
Ne jamais autoriser :
* + credentials=true