Konferencja Mega Sekurak Hacking Party w Krakowie – 26-27 października!

Oddawałeś krew? Twoje zaświadczenie w IKP miało przewidywalny identyfikator

09 lutego 2026, 13:58 | Aktualności, Teksty | 0 komentarzy

Jedną z podstawowych podatności aplikacji webowych jest IDOR (Insecure Direct Object Reference). Do jej wystąpienia dochodzi, gdy aplikacja udostępnia bezpośrednie odwołania do obiektów (np. zasobów) na podstawie identyfikatora przekazywanego przez użytkownika, nie weryfikując poprawnie uprawnień dostępu. W praktyce oznacza to, że aby uzyskać dostęp do zasobu, może wystarczyć znajomość (lub odgadnięcie) jego identyfikatora w systemie. Jeżeli dodatkowo identyfikatory są przewidywalne (np. sekwencyjne), atakujący może iteracyjnie wskazywać kolejne wartości i uzyskać dostęp do informacji, które nie są dla niego przeznaczone. Szczególnie poważne konsekwencje ma to w sytuacji, gdy w ten sposób można uzyskać dostęp do danych osobowych, na przykład w systemie medycznym.

Niestety opisywana sytuacja miała rzeczywiście miejsce i została odkryta przez naszego Czytelnika. Problem dotykał modułu Internetowego Konta Pacjenta. IKP to rządowy serwis pozwalający na dostęp do wybranych danych medycznych systemu e-zdrowie, między innymi wystawionych e-recept i zaświadczeń. Podatny moduł obsługiwał krwiodawców, a luka dotykała tylko osób które oddawały krew/składniki krwi. 

W wyniku dokonania donacji, na koncie IKP dawcy pojawiają się odpowiednie dokumenty w formie plików PDF. Wygenerowane pliki PDF to: zaświadczenie uprawniające do dnia wolnego w pracy oraz zbiorcze podsumowanie dokonanych donacji. Pierwszy dokument zawiera dane takie jak imię, nazwisko, nr PESEL oraz informacja o tym, kiedy nastąpiło oddanie krwi oraz nazwa placówki medycznej. Zaświadczenie to uprawnia dawcę do usprawiedliwienia nieobecności w pracy oraz pozwalająca na uzyskanie przysługującego dnia wolnego. 

Rysunek 1. Zaświadczenie dla pracodawcy zawierające informacje o przysługującym dniu wolnym

Drugi dokument to zbiorcze podsumowanie dokonanych donacji. W celu jego uzyskania należy przejść w IKP do zakładki APTECZKA, następnie wybrać przycisk Krwiodawstwo oraz wybrać pozycję Lista złożonych wniosków i udzielonych zgód. W tym pliku zawarta jest ogólna informacja o objętości oddanych składników/krwi. Oprócz tej informacji, wewnątrz PDFa znajdują się dane placówki medycznej, która przygotowała zaświadczenie, data jego wystawienia, imię, nazwisko oraz PESEL oraz informacja o osobie wystawiającej dokument. 

Rysunek 2. Fragment dokumentu przedstawiający zbiorcze podsumowanie dokonanych donacji

Gdzie wystąpiła podatność? Pliki o których mowa, były dostępne w systemie pacjent.gov.pl pod adresem:

https[:]//pacjent.gov.pl/ikp/apteczka/krwiodawstwo/wnioski/pdf/WNK-2026-123456

Ostatnie sześć cyfr adresu URL powiązane było z konkretnym zasobem. Enumerując kolejne wartości identyfikatora, możliwe było pobranie dokumentów innych dawców. Weryfikując podatność, Czytelnik natrafił na dane zarówno z roku 2026 jak i 2025, które dostępne były pod niższymi wartościami, co sugeruje sekwencyjność nadawanych identyfikatorów.

Zgłoszenie podatności miało miejsce 07.01.2026, niezwłocznie po wykryciu nieprawidłowości. Cały timeline prezentuje się następująco:

  • 07.01.2026 – zgłoszenie podatności (telefonicznie  + mailowo)
  • 08.01.2026 – informacja zwrotna + wdrożone działania naprawcze
  • 12.01.2026 – czytelnik ponawia pytanie o status naprawy
  • 13.01.2026 – odpowiedź formalna z prośbą o usunięcie pobranych przez Czytelnika danych
  • 14.01.2026 – potwierdzenie załatania podatności

Chociaż podatność nie była “aż tak” krytyczna. Po pierwsze dotyczyła tylko pewnej podgrupy osób korzystających z systemu. Po drugie pozwalała na dostęp do ograniczonych danych pacjenta (i to raczej nie tych świadczących o złym stanie zdrowia – wręcz przeciwnie, krwiodawcy mają się czym chwalić). To jednak wciąż są to dane medyczne oraz osobowe (numer PESEL mimo przesłanek, wciąż jest traktowany jako ~niejawny – no chyba, że jesteście np. przedsiębiorcami, to wtedy nie – tutaj chcielibyśmy przypomnieć o możliwości zastrzeżenia numeru PESEL jeśli jeszcze tego nie zrobiliście). Nieważne jak “krytyczne” były dostępne bez autoryzacji dane – portal powinien weryfikować dostęp pacjentów do każdych zasobów. Cieszy fakt, że informacja o podatności nie została potraktowana lekceważąco. Jedna sprawa, która rzuca się w oczy, to brak jasnego komunikatu ze strony odpowiedzialnego podmiotu o statusie zgłoszenia. Mamy nadzieję, że ta niedogodność dla zgłaszających luki w przyszłości, zostanie zaadresowana i odpowiedzialne podmioty będą lepiej prowadziły komunikację z badaczami bezpieczeństwa. 

Na koniec chcielibyśmy pogratulować etycznego zachowania i podziękować za podzielenie się opisem podatności naszemu Czytelnikowi. Jeśli chcielibyście opisać swoje historie dotyczące legalnie i odpowiedzialnie zgłaszanych podatności, to zapraszamy do kontaktu na sekurak@sekurak.pl.

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

Odpowiedz