
CVE-2026-27579 - Configurazione errata CORS – Origine arbitraria con credenziali → Esposizione autenticata dei dati dell'account cross-origin
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N
Il progetto realtime-collaboration-platform conteneva una configurazione CORS errata nella sua configurazione backend Appwrite.
Il server:
Questa combinazione consentiva a un dominio controllato dall'attaccante di:
Ciò ha comportato l'esposizione di:
Il backend non riusciva a validare e limitare correttamente l'header Origin.
Configurazione impropria:
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Oppure riflessione dinamica di origini arbitrarie.
Ciò viola i principi di sicurezza CORS perché:
I browser consentono richieste cross-origin con credenziali solo quando l'origine è esplicitamente attendibile.
Invece, l'applicazione si fidava di qualsiasi origine, creando un vettore di esfiltrazione dati cross-origin.
| Area di Impatto | Effetto |
|---|---|
| Riservatezza | ALTA |
| Integrità | Nessuno |
| Disponibilità | Nessuno |
| Ambito | Modificato |
Un attaccante potrebbe:
Nessun privilegio diretto richiesto.
Ciò lo rende un potente attacco lato client con potenziale di sfruttamento nel mondo reale.
fetch("https://target-appwrite-endpoint/v1/account", {
credentials: "include"
})
.then(res => res.json())
.then(data => {
console.log("Exfiltrated:", data);
});
Se la vittima è autenticata, il suo cookie di sessione viene incluso automaticamente.
A causa del CORS permissivo, l'attaccante può leggere la risposta.
Una mitigazione adeguata richiede:
Esempio di configurazione corretta:
Access-Control-Allow-Origin: https://trusted-domain.com
Access-Control-Allow-Credentials: true
Oppure:
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: false
Configurazione CORS errata + credenziali = Violazione dei dati.
Non consentire mai:
* + credentials=true