← Powrót do bloga
BezpieczeństwoScanaris Team · 2 min czytania · July 08, 2026

Źle skonfigurowany CORS: cicha luka, która odsłania dane twoich użytkowników

Budujesz swoją aplikację, przeglądarka wyrzuca czerwony błąd CORS, szukasz na forum i kopiujesz rozwiązanie, które obiecuje, że wszystko zadziała. Zwykle to najgorsze z możliwych. Zrozummy, czym jest CORS i dlaczego ten skrót jest niebezpieczny.

Czym naprawdę jest CORS

Domyślnie przeglądarka nie pozwala, żeby site-a.com odczytał odpowiedź API na site-b.com. To polityka tego samego pochodzenia, i chroni twoich użytkowników: uniemożliwia złośliwej karcie odczyt danych z innej karty, gdzie jesteś zalogowany. CORS to mechanizm, którym twój serwer mówi te konkretne pochodzenia są dozwolone, przez nagłówek Access-Control-Allow-Origin.

Błąd, który psuje wszystko

Niebezpieczny wzorzec to odbijanie dowolnego pochodzenia, które przychodzi, i na dodatek zezwalanie na dane uwierzytelniające:

  • Access-Control-Allow-Origin ustawiony na pochodzenie, które prosi (odbicie dynamiczne)
  • razem z Access-Control-Allow-Credentials: true

Przy takiej kombinacji dowolna strona, którą odwiedzi twój użytkownik, może wywołać twoje API z ciasteczkami sesji użytkownika i odczytać odpowiedź. Innymi słowy, byle jaka strona może wyciągnąć prywatne dane twojego użytkownika, a on się nie zorientuje. Wildcard * jest mniej groźny, bo przeglądarka zabrania łączyć go z danymi uwierzytelniającymi, ale i tak nie ma czego szukać na produkcji.

Jak skonfigurować go dobrze

Myśl obroną, nie wygodą:

  • Prowadź allowlistę dozwolonych pochodzeń i porównuj ją dokładnie. Nigdy nie odbijaj tego, co przychodzi, bez walidacji.
  • Włączaj Allow-Credentials tylko, jeśli naprawdę musisz wysyłać ciasteczka, i tylko dla konkretnych pochodzeń.
  • Ogranicz metody i nagłówki do tego, czego używasz (Allow-Methods, Allow-Headers).
  • Uważaj z dodawaniem null albo subdomen firm trzecich do listy.

Dlaczego trudno to wykryć

Ta luka jest cicha: wszystko działa, nie ma widocznego błędu i aplikacja wygląda zdrowo. Zauważasz to dopiero, gdy ktoś to wykorzysta. Dlatego warto przeglądać konfigurację CORS wprost przy każdym deployu, zamiast ufać, że brak błędu znaczy, że jest dobrze.

Przejrzyj swój CORS ze Scanaris

Scanaris wykonuje kontrolę tylko do odczytu, czy twoje API odbija pochodzenia i jak odpowiada na nagłówki CORS, bez wykonywania ataków ani dotykania twoich danych: obserwuje tylko publiczną odpowiedź. Jeśli znajdzie niebezpieczną konfigurację, daje ci fix prompt, żeby twoja AI przepisała ją z allowlistą. Przeskanuj swoją stronę i unikaj luki, której nikt nie widzi, dopóki nie jest za późno.

Jak radzi sobie twoja strona?

Pozwól Scanaris ją sprawdzić w 30 sekund, za darmo.

Przeskanuj moją stronę

Powiązane testy