CORS mal configurato: fidarsi dell'Origin sbagliato
La Same-Origin Policy impedisce a un sito di leggere le risposte di un altro. CORS la rilassa in modo controllato — se configurato male, la spalanca.
Gli errori
Riflettere l'Origin: il server rimanda Access-Control-Allow-Origin = qualsiasi Origin ricevuta, con Allow-Credentials: true. Un sito malevolo fa richieste autenticate (con cookie della vittima) e ne legge la risposta.
Origin: https://evil.com
-> Access-Control-Allow-Origin: https://evil.com
Access-Control-Allow-Credentials: true # legge dati privatiAltri: null in whitelist (ottenibile da iframe sandbox), match per substring (evil-azienda.com).
Difesa
Whitelist esplicita di origin fidate, match esatto, mai riflessione cieca. Non abbinare Allow-Credentials: true a origin dinamiche o *. Tratta CORS come autorizzazione: un'origin sbagliata legge dati privati.