FixVibe
Covered by FixVibehigh

CORS Konfigurazzjoni ħażina: Riskji ta' Politiki Permissivi Iżżejjed

Il-Qsim tar-Riżorsi bejn l-Oriġini (CORS) huwa mekkaniżmu tal-browser iddisinjat biex jirrilassa l-Politika tal-Istess Oriġini (SOP). Filwaqt li hija meħtieġa għall-apps tal-web moderni, implimentazzjoni mhux xierqa—bħal eku tal-header Oriġini ta' min jagħmel it-talba jew whitelisting tal-oriġini 'null'—tista' tippermetti lis-siti malizzjużi jesfiltraw id-dejta tal-utent privat.

CWE-942

Impatt

Attakkant jista' jisraq dejta sensittiva u awtentikata minn utenti ta' applikazzjoni vulnerabbli [S2]. Jekk utent iżur websajt malizzjuża waqt li jkun illoggjat fl-app vulnerabbli, is-sit malizzjuż jista' jagħmel talbiet ta' oriġini inkroċjata lil API tal-app u jaqra t-tweġibiet [S1][S2]. Dan jista 'jwassal għas-serq ta' informazzjoni privata, inklużi profili tal-utent, tokens CSRF, jew messaġġi privati ​​[S2].

Kawża Għerq

CORS huwa mekkaniżmu bbażat fuq header HTTP li jippermetti lis-servers jispeċifikaw liema oriġini (dominju, skema, jew port) huma permessi biex jgħabbu riżorsi [S1]. Il-vulnerabbiltajiet tipikament jinqalgħu meta l-politika CORS ta’ server tkun flessibbli wisq jew implimentata ħażin [S2]:

  • Intestatura ta' Oriġini Riflessa: Xi servers jaqraw l-header Origin minn talba tal-klijent u jsemmuha lura fl-header tar-rispons Access-Control-Allow-Origin (ACAO) [S2]. Dan jippermetti b'mod effettiv lil kwalunkwe websajt biex taċċessa r-riżorsa [S2].
  • Wildcards ikkonfigurati ħażin: Filwaqt li l-wildcard * jippermetti li kwalunkwe oriġini taċċessa riżorsa, ma tistax tintuża għal talbiet li jeħtieġu kredenzjali (bħal cookies jew headers tal-Awtorizzazzjoni) [S3]. L-iżviluppaturi ħafna drabi jippruvaw jevitaw dan billi jiġġeneraw b'mod dinamiku l-header ACAO ibbażat fuq it-talba [S2].
  • Whitelisting 'null': Xi applikazzjonijiet whitelist l-oriġini null, li tista 'tiġi attivata minn talbiet ridiretti jew fajls lokali, li jippermettu lis-siti malizzjużi biex jaħbu bħala oriġini null biex jiksbu aċċess ZXCVFIXVIBETOKENTOKVIXVIXVIBETOKENTOKVZCV3CV3CV.
  • Parsing Żbalji: Żbalji fit-tqabbil ta' regex jew string meta jiġi validat l-header Origin jistgħu jippermettu lill-attakkanti jużaw oqsma bħal trusted-domain.com.attacker.com [S2].

Huwa importanti li wieħed jinnota li CORS mhix protezzjoni kontra Falsifikazzjoni ta' Talba bejn is-Siti (CSRF) [S2].

Fixs tal-Konkrit

  • Uża Whitelist Statika: Evita li tiġġenera b'mod dinamiku l-header Access-Control-Allow-Origin mill-header Origin [S2] tat-talba. Minflok, qabbel l-oriġini tat-talba ma' lista hardcoded ta' oqsma ta' fiduċja [S3].
  • Evita l-Oriġini 'null': Qatt ma tinkludi null fil-lista bajda tiegħek ta' oriġini permessi [S2].
  • Irrestrinġi Kredenzjali: Issettja biss Access-Control-Allow-Credentials: true jekk assolutament meħtieġ għall-interazzjoni speċifika bejn l-oriġini [S3].
  • Uża Validazzjoni Proper: Jekk trid tappoġġja oriġini multipli, kun żgur li l-loġika tal-validazzjoni għall-header Origin hija robusta u ma tistax tiġi evitata minn sottodominji jew oqsma li jidhru simili [S2].

Kif FixVibe jittestja għaliha

FixVibe issa jinkludi dan bħala kontroll attiv gated. Wara l-verifika tad-dominju, active.cors jibgħat talbiet tal-istess oriġini API b'oriġini sintetika tal-attakkant u jirrevedi l-headers tar-rispons CORS. Jirrapporta oriġini riflessi arbitrarji, CORS bi kredenzjali wildcard, u CORS miftuħin wiesa' fuq endpoints API mhux pubbliċi filwaqt li jevita l-istorbju tal-assi pubbliċi.