Polski Związek Szachowy potwierdził lukę w Centralnym Rejestrze zawodników, przez którą według badaczy dało się pobrać całą bazę z danymi około 135 tys. rekordów, i przyznał, że nie przeprowadził audytu, który pokazałby, czy ktoś zrobił to przed nimi. Lukę typu SQL injection Robert Kruczek i Kamil Szczurowski zgłosili do CERT Polska w połowie kwietnia 2025 roku. Sprawę opisał 12 października 2026 roku Sekurak, razem z odpowiedzią Beaty Kowalewskiej, dyrektor Biura PZSzach. Zawodników i rodziców młodych szachistów dotyczy to wprost. Obok jawnych wyników sportowych w bazie leżały historyczne adresy i telefony, które jawne nie były, oraz miejsce urodzenia, którego związek nie wymienia wśród danych jawnych.
Centralny Rejestr PZSzach: co się stało i kiedy
Centralny Rejestr PZSzach to internetowa ewidencja klubów, zawodników, sędziów i trenerów, działająca pod adresem cr-pzszach.pl. Według badaczy luka pozwalała na pełny zrzut bazy. Wśród danych wymieniają adres, adres korespondencyjny, numer telefonu, e-mail, imię, drugie imię, nazwisko i datę urodzenia. Na podstawie kopii strony w archiwum internetu ocenili, że błąd istniał co najmniej od 2013 roku.
Po zgłoszeniu badacze przez prawie cztery miesiące dopytywali CERT Polska o stan naprawy. 8 sierpnia 2025 roku dostali odpowiedź: związek w czerwcu usunął część danych teleadresowych i wprowadził WAF, czyli filtr ruchu przed aplikacją. Badacze sprawdzili to po swojemu. Nadal dało się wyciągnąć imię, nazwisko, datę urodzenia i miejsce urodzenia, a sam filtr według nich “nie różni się od pierwotnej implementacji”.
12 stycznia 2026 roku badacze dodzwonili się do inspektora ochrony danych związku, po wielu nieudanych próbach w poprzednim roku. Usłyszeli, że instytucja jest “niewystarczająco dofinansowana”, żeby naprawić albo wymienić system. Zaproponowali, że sami dostarczą łatkę.


Od zgłoszenia do publikacji minęło prawie 18 miesięcy. Po stronie związku w tym okresie widać trzy kroki: usunięcie części danych, filtr ruchu i zmiany techniczne w 2026 roku.
Czym jest SQL injection
SQL injection, po polsku wstrzyknięcie zapytania SQL, to błąd aplikacji, w którym tekst wpisany przez użytkownika staje się częścią zapytania do bazy danych. Atakujący wpisuje wtedy w pole wyszukiwania albo w adres strony fragment polecenia. Baza wykonuje je razem z resztą i oddaje dane, których strona nigdy nie miała pokazać. Przy dobrze napisanej aplikacji ten sam tekst zostałby potraktowany jak zwykłe słowo do wyszukania.
To jeden z najstarszych i najlepiej opisanych błędów w aplikacjach internetowych. Standardową ochroną są zapytania parametryzowane, w których dane od użytkownika nigdy nie mieszają się z treścią polecenia. Filtr ruchu w rodzaju WAF może część prób zatrzymać, ale nie usuwa błędu z kodu. Podobny mechanizm opisywaliśmy przy lukach w module płatności dla sklepów PrestaShop.
Pierwsza Misja AI · Kodożercy
AI bez technikaliów – kurs i certyfikat
Pierwsza Misja AI to kurs Kodożerców dla absolutnych początkujących. Fabuła w konwencji science fiction, gamifikacja, ćwiczenia na żywym modelu, certyfikat na koniec.
Zacznij Pierwszą Misję →

Co odpowiada PZSzach
Związek potwierdza, że dostał przez CERT Polska zgłoszenie podatności SQL injection w Centralnym Rejestrze i że problem zweryfikował. System powstał w latach 2008-2009, a jego architektura według związku “istotnie ogranicza możliwości dalszej modernizacji”. Wymiana na nowy zależy od pieniędzy, których PZSzach dopiero musiałby szukać.
W 2026 roku związek wprowadził zmiany techniczne, które mają wyeliminować zgłoszony sposób ataku. Kompleksowego audytu całej aplikacji nie było. PZSzach sam pisze, że nie może stwierdzić, że system jako całość jest wolny od innych podatności.
Związek nie przeprowadził odrębnego, kompleksowego audytu historycznego, który pozwoliłby ustalić, czy lukę wykorzystał ktoś inny niż badacze. Nie odnotował takich zdarzeń, ale “nie może kategorycznie wykluczyć” wcześniejszego wykorzystania. Przy luce, która według badaczy istniała co najmniej od 2013 roku, i bez takiego audytu zdanie “nie odnotowaliśmy” ma ograniczoną wagę. Dowodu, że dane trafiły do przestępców, też nie ma.
Liczba 135 tys. pochodzi od związku i oznacza rekordy w okresie zgłoszenia. PZSzach zaznacza, że nie każdy rekord miał pełny zakres danych, a historyczne adresy i telefony już usunął.
Dane zawodników PZSzach: co jest jawne, a co nie powinno wypłynąć
Jawność części danych wynika z regulaminu związku. Związek powołuje się na art. 13 ust. 1 pkt 2 ustawy o sporcie, ale ten przepis daje mu tylko prawo do ustalania reguł sportowych i organizacyjnych. O danych osobowych zawodników nic w nim nie ma. Dopiero Regulamin Ewidencyjny PZSzach, obowiązujący od 1 stycznia 2024 roku, mówi, że Centralny Rejestr jest dostępny na stronie internetowej związku.
| Dane w Centralnym Rejestrze | Status według PZSzach i regulaminu |
|---|---|
| imię i nazwisko, data urodzenia | jawne |
| klub, kategoria, tytuł, rankingi, przebieg kariery | jawne |
| miejsce urodzenia | w katalogu danych rejestru (pkt 2.4 regulaminu), związek nie wymienia go wśród jawnych |
| adres zamieszkania i korespondencyjny, telefon | niejawne, historyczne usunięte, nowe tylko na żądanie zawodnika |
| wizerunek | publikowany i usuwany na żądanie zawodnika |
Związek argumentuje, że większość informacji w rejestrze i tak jest publiczna. To prawda o wynikach sportowych. Komplet z imieniem, nazwiskiem, datą i miejscem urodzenia oraz dawnym adresem i telefonem wystarcza jednak do wiarygodnego telefonu “z klubu” albo “ze związku”. Regulamin przewiduje rejestrację zawodników poniżej 18 lat za zgodą rodziców, więc w bazie są także dzieci. Ilu ich jest, źródła nie podają. Dane zawodnika zostają w rejestrze dożywotnio (pkt 2.7 regulaminu).
Czy PZSzach zgłosił naruszenie do UODO
Tego nie wiadomo. Sekurak o to nie pytał, a w odpowiedzi związku nie ma ani słowa o zgłoszeniu do Urzędu Ochrony Danych Osobowych ani o zawiadomieniu zawodników. Do 10:00 12 października 2026 roku PZSzach nie opublikował też na swojej stronie komunikatu w tej sprawie.
Art. 33 RODO wymaga zgłoszenia naruszenia do UODO bez zbędnej zwłoki, w miarę możliwości w ciągu 72 godzin. Wyjątkiem jest sytuacja, w której naruszenie raczej nie niesie ryzyka dla osób, których dane dotyczą. Art. 34 dokłada obowiązek zawiadomienia samych osób, gdy ryzyko jest wysokie. RODO uznaje za naruszenie także nieuprawniony dostęp do danych, a badacze według swojej relacji pobrali bazę. Z dostępnych źródeł nie wiadomo, jak PZSzach zakwalifikował ten dostęp, jak ocenił ryzyko i czy uznał, że powstały obowiązki z art. 33 i 34. Jak liczy się ten termin, rozpisaliśmy w tekście o tym, kiedy zgłosić wyciek danych do UODO.
Co zrobić, jeśli ty albo twoje dziecko jesteście w rejestrze PZSzach
Zawodnik, który gra w turniejach z kategorią albo rankingiem PZSzach, jest w Centralnym Rejestrze, bo regulamin tego wymaga. Dotyczy to też dzieci zgłoszonych przez klub. Kilka kroków ma sens niezależnie od tego, czy ktokolwiek dane pobrał:
Zażądaj usunięcia danych kontaktowych i wizerunku. Związek sam pisze, że adres, telefon i zdjęcie usuwa na każde żądanie osoby z kartoteki. Napisz do Biura PZSzach albo do inspektora ochrony danych związku. Przy dziecku żądanie składa rodzic.
Zapytaj, jakie dane o tobie są w rejestrze. RODO daje prawo dostępu do własnych danych (art. 15). Odpowiedź pokaże, czy w twoim rekordzie był historyczny adres albo telefon.
Uważaj na telefony i e-maile “ze związku”, “z klubu” albo “od organizatora turnieju”. Szczególnie gdy dotyczą opłat, wpisowego, licencji albo danych dziecka. Oddzwoń na numer ze strony klubu.
Rozważ zastrzeżenie numeru PESEL. PESEL w opisie danych z tej sprawy się nie pojawia. Zastrzeżenie to ogólna ochrona przed kredytem na cudze dane, a co realnie blokuje, opisaliśmy osobno. Zastrzec można też PESEL dziecka.
Sprawdź, czy twoje dane nie krążą w innych wyciekach. Rządowy serwis bezpiecznedane.gov.pl po zalogowaniu sprawdza PESEL, adres e-mail, telefon i login w bazach, które trafiły do sieci.
Szachiści mieli już w tym roku jeden powód do ostrożności: wyciek danych z Chess.com objął 7,3 mln rekordów. Kto ma konto na tej platformie i jednocześnie jest w rejestrze PZSzach, powinien szczególnie uważać na wiadomości, które łączą dane z obu źródeł.
Masz pomysł na aplikację? Najpierw go zobacz
Zanim zainwestujesz w pełny system, przygotujemy klikalny prototyp, który pokażesz zespołowi albo klientom. Potem budujemy aplikację webową, która rośnie razem z firmą.
Podsumowanie
Centralny Rejestr Polskiego Związku Szachowego miał lukę SQL injection, która według badaczy pozwalała pobrać całą bazę z około 135 tys. rekordów. Według archiwum internetu błąd istniał co najmniej od 2013 roku. Zgłoszenie trafiło do CERT Polska w kwietniu 2025 roku. Związek usunął część danych i postawił filtr ruchu, a w 2026 roku wprowadził zmiany techniczne. Audytu całej aplikacji ani odrębnego audytu historycznego nie zrobił i nie może wykluczyć, że ktoś pobrał dane wcześniej. Jawne według związku są imię, nazwisko, data urodzenia i wyniki sportowe. Adresy i telefony jawne nie były, a miejsca urodzenia związek wśród danych jawnych nie wymienia. Nie wiadomo, czy PZSzach zgłosił sprawę do UODO. Zawodnik albo rodzic może dziś zażądać usunięcia danych kontaktowych i wizerunku z rejestru oraz zapytać związek, co w jego rekordzie było.
Newsletter · DevstockAcademy & Kodożercy
Bądź na bieżąco ze światem IT, AI i automatyzacji
Co wtorek: newsy z branży, praktyczne tipy i narzędzia które warto znać. Zero spamu.



