FixVibe
Covered by FixVibehigh

CORS Mësskonfiguratioun: Risiken vun iwwerdriwwe Permissive Politiken

Cross-Origin Ressource Sharing (CORS) ass e Browsermechanismus entwéckelt fir d'Selwe-Origin Policy (SOP) ze relaxen. Wärend néideg fir modern Webapps, falsch Implementatioun - sou wéi d'Echo vum Origin-Header vum Ufroer oder d'Whitelisting vun der 'null' Hierkonft - kann béiswëlleg Site erlaben privat Benotzerdaten ze exfiltréieren.

CWE-942

Impakt

En Ugräifer kann sensibel, authentifizéiert Donnéeë vu Benotzer vun enger vulnerabeler Applikatioun [S2] klauen. Wann e Benotzer eng béiswëlleg Websäit besicht wärend hien an déi vulnerabel App ageloggt ass, kann de béisaarteg Site Cross-Origine Ufroe fir d'API vun der App maachen an d'Äntwerten [S1][S2] liesen. Dëst kann zum Vol vu privaten Informatioune féieren, dorënner Benotzerprofile, CSRF Tokens oder privat Messagen [S2].

Root Ursaach

CORS ass en HTTP-Header baséiert Mechanismus deen Server erlaabt ze spezifizéieren wéi eng Originen (Domain, Schema oder Port) erlaabt sinn Ressourcen [S1] ze lueden. Schwachstelle entstinn normalerweis wann d'CORS Politik vun engem Server ze flexibel ass oder schlecht implementéiert [S2]:

  • Reflected Origin Header: E puer Server liesen den Origin Header vun enger Client Ufro an echo et zréck an den Access-Control-Allow-Origin (ACAO) Äntwert Header [S2]. Dëst erlaabt effektiv all Websäit Zougang zu der Ressource [S2].
  • Falschkonfiguréiert Wildcards: Wärend d'* Wildcard erlaabt all Hierkonft Zougang zu enger Ressource, et kann net fir Ufroe benotzt ginn déi Umeldungsinformatiounen erfuerderen (wéi Cookien oder Autorisatiounsheaders) [S3]. D'Entwéckler probéieren dacks dëst ze ëmgoen andeems Dir den ACAO Header dynamesch generéiert baséiert op der Ufro [S2].
  • Whitelisting 'null': E puer Applikatiounen Whitelist den null Urspronk, deen duerch ëmgeleet Ufroen oder lokal Dateien ausgeléist ka ginn, wat et erlaabt béiswëlleg Siten sech als null Hierkonft ze verkleeden fir Zougang ZXCVFIXVIBETOKEN2ZVFXZVIX.
  • Parsing Feeler: Feeler am Regex oder String Matching beim Validéiere vum Origin Header kënnen Ugräifer erlaben Domainen wéi trusted-domain.com.attacker.com [S2] ze benotzen.

Et ass wichteg ze notéieren datt CORS kee Schutz géint Cross-Site Request Forgery (CSRF) [S2] ass.

Beton Fixes

  • Benotzt eng statesch Whitelist: Vermeit dynamesch Generéiere vum Access-Control-Allow-Origin Header vum Origin Header [S2] vun der Ufro. Amplaz, vergläicht den Urspronk vun der Ufro géint eng hardcoded Lëscht vu vertrauenswürdege Domainen [S3].
  • Vermeit den 'null' Hierkonft: Gitt ni null an Ärer Wäisslëscht vun erlaabten Originen [S2].
  • Umeldungsinformatioune beschränken: Setzt nëmmen Access-Control-Allow-Credentials: true wann absolut néideg fir déi spezifesch Cross-Origine Interaktioun [S3].
  • Benotz richteg Validatioun: Wann Dir verschidde Originen ënnerstëtzen musst, gitt sécher datt d'Validatiounslogik fir den Origin Header robust ass a kann net vun Ënnerdomainen oder ähnlech ausgesinnende Domainen [S2] ëmgoen.

Wéi FixVibe Tester fir et

FixVibe enthält elo dëst als gated aktive Scheck. No Domain Verifizéierung schéckt active.cors API Ufroe mat engem syntheteschen Ugräifer an iwwerpréift CORS Äntwert Header. Et bericht reflektéiert arbiträr Hierkonft, Wildcard credentialed CORS, a breet oppen CORS op net-ëffentlechen API Endpunkte wärend ëffentlech Verméigen Kaméidi vermeiden.