FixVibe
Covered by FixVibehigh

CORS Misconfiguration: Rischi di Politiche eccessivamente permissive

Cross-Origin Resource Sharing (CORS) hè un mecanismu di navigatore pensatu per rilassà a Politica di listessa Origine (SOP). Mentre hè necessariu per l'applicazioni web muderni, l'implementazione impropria - cum'è l'ecu di l'intestazione di l'Origine di u richiedente o a lista bianca di l'origine "nulla" - ponu permette à i siti maliziusi di esfiltrate i dati di l'utilizatori privati.

CWE-942

Impattu

Un attaccu pò arrubbari dati sensittivi è autenticati da l'utilizatori di una applicazione vulnerabile [S2]. Se un utilizatore visita un situ web maliziusu mentre cunnessu à l'app vulnerabile, u situ maliziusu pò fà richieste incrociate à l'app API è leghje e risposte [S1][S2]. Questu pò purtà à u furtu di l'infurmazioni privati, cumpresi i prufili d'utilizatori, tokens CSRF, o missaghji privati ​​[S2].

Causa Root

CORS hè un mecanismu basatu in header HTTP chì permette à i servitori di specificà quale origine (dominu, schema, o portu) sò permessi di carricà risorse [S1]. Vulnerabilità sò generalmente quandu a pulitica CORS di un servitore hè troppu flessibile o mal implementata [S2]:

  • Intestazione d'origine riflessa: Certi servitori leghjenu l'intestazione Origin da una dumanda di u cliente è l'ecu torna in l'intestazione di risposta Access-Control-Allow-Origin (ACAO) [S2]. Questu permette in modu efficace à qualsiasi situ web accede à a risorsa [S2].
  • Wildcards misconfigurati: Mentre u wildcard * permette à qualsiasi origine di accede à una risorsa, ùn pò micca esse aduprata per richieste chì necessitanu credenziali (cum'è cookies o Headers d'Autorizazione) [S3]. I sviluppatori spessu pruvate di aggirari questu generendu dinamicamente l'intestazione ACAO basatu annantu à a dumanda [S2].
  • Whitelisting 'null': Alcune applicazioni whitelist l'origine null, chì pò esse attivata da richieste redirette o schedarii lucali, chì permettenu à i siti maliziusi di masquerade cum'è un null origine per acquistà l'accessu
  • Parsing Errors: Errori in regex o string matching quandu validate l'intestazione Origin ponu permette à l'attaccanti di utilizà domini cum'è trusted-domain.com.attacker.com [S2].

Hè impurtante à nutà chì CORS ùn hè micca una prutezzione contru Cross-Site Request Forgery (CSRF) [S2].

Correzioni Concrete

  • Usate una Lista Bianca Statica: Evitate di generà dinamicamente l'intestazione Access-Control-Allow-Origin da l'intestazione Origin di a dumanda [S2]. Invece, paragunate l'origine di a dumanda cù una lista codificata di domini di fiducia [S3].
  • Evite l'Origine "nulla": Ùn includite mai null in a vostra lista bianca di origini permesse [S2].
  • Restrizione di credenziali: Impostate solu Access-Control-Allow-Credentials: true s'ellu hè assolutamente necessariu per l'interazzione specifica cross-origine [S3].
  • Utilizà a Validazione Propria: Se duvete supportà parechje origini, assicuratevi chì a logica di validazione per l'intestazione Origin hè robusta è ùn pò micca esse ignorata da sottodomini o domini simili [S2].

Cumu FixVibe prova per questu

FixVibe include avà questu cum'è un cuntrollu attivu gated. Dopu a verificazione di u duminiu, active.cors manda richieste API di listessa origine cù una origine di attaccu sinteticu è rivisione intestazioni di risposta CORS. Riporta origini arbitrarie riflesse, CORS con credenziali wildcard, e CORS ampiamente aperto su punti finali API non publici evitando il rumore di beni pubblici.