CVE-2026-103019
ŚrednieCVSS 4.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 18 - wyżej niż 18% wszystkich znanych CVE
Streszczenie
W OpenEMR przed wersją 8.3.0 funkcja userSessionLogout() w AuthorizationController.php przetwarza id_token_hint bez weryfikacji podpisu i przekierowuje na post_logout_redirect_uri przed sprawdzeniem go względem zarejestrowanych URI klienta. Nieuwierzytelniony atakujący może utworzyć link wylogowania prowadzący do dowolnej witryny i unieważniający sesję użytkownika.
Ocena ryzyka
Możliwe przekonujące ataki phishingowe wykorzystujące zaufany punkt wylogowania oraz wymuszone wylogowanie użytkowników.
Rekomendacja
Zaktualizować OpenEMR do wersji 8.3.0 lub nowszej; do czasu aktualizacji rozważyć wyłączenie API REST, jeśli nie jest potrzebne.
Inne podatności w OpenEMR
Zobacz wszystkie- CVE-2026-124489Wysokie
OpenEMR w wersji przed 8.3.0 zawiera podatność polegającą na złamaniu kontroli dostępu w pliku portal/portal_payment.php. Użytkownicy z niskimi uprawnieniami mogą obejść kontrole ACL rozliczeń poprzez manipulację identyfikatorami pacjentów (pid i form_pid), co pozwala na przeglądanie stron płatności i rejestrowanie fałszywych potwierdzeń płatności dla dowolnych pacjentów.
- CVE-2026-124488Wysokie
OpenEMR w wersji przed 8.3.0 zawiera podatność polegającą na obejściu autoryzacji, która pozwala uwierzytelnionym klinicystom bez uprawnień do danych o wysokiej wrażliwości na odczyt i modyfikację formularzy powiązanych z wizytami poprzez load_form.php. Atakujący mogą uzyskać dostęp do zastrzeżonych treści (np. notatek klinicznych) i tokenu CSRF, a następnie modyfikować rekordy kliniczne przez save.php.
- CVE-2026-124486Wysokie
OpenEMR w wersji przed 8.3.0 zawiera podatność polegającą na braku autoryzacji w klasycznym kontrolerze dokumentów, co pozwala użytkownikom z niskimi uprawnieniami na zmianę kategorii dokumentów innych pacjentów. Atakujący mogą przenieść dokument do kategorii patients|demo, a następnie pobrać go z pustym patient_id, co umożliwia eksfiltrację danych PHI i manipulację kartotekami.
- CVE-2026-124485Średnie
OpenEMR w wersjach przed 8.3.0 zawiera podatność na obejście autoryzacji w API onsitedocuments portalu pacjenta, która pozwala uwierzytelnionym pacjentom czytać dokumenty innych pacjentów poprzez nadpisanie kryteriów zapytania. Atakujący mogą wysłać puste parametry pid_Equals i denialReason_IsNotLike, aby usunąć ograniczenia pacjenta i zablokowane filtry, ujawniając treści zgód, podpisy, ścieżki plików i dane szablonów.
- CVE-2026-124484Wysokie
OpenEMR w wersji przed 8.4.0 zawiera podatność polegającą na braku autoryzacji w API dokumentów portalowych, co pozwala każdemu uwierzytelnionemu użytkownikowi na dostęp do dokumentów innych pacjentów. Atakujący mogą pominąć parametr patientId i podać dowolne identyfikatory rekordów, aby wyświetlić, odczytać i nadpisać dokumenty portalowe, podpisy i dane szablonów innych pacjentów.
- CVE-2026-124482Średnie
OpenEMR w wersjach przed 8.4.0 zawiera obejście autoryzacji pozwalające użytkownikom SMART standalone-launch o niskich uprawnieniach na powiązanie dowolnych UUID pacjentów z kontekstem tokenu OAuth. Atakujący posiadający jedynie ACL patients|demo może wybrać ofiarę podczas autoryzacji i czytać jej notatki kliniczne oraz dokumenty poprzez punkty końcowe FHIR DocumentReference i Binary.
- CVE-2026-124481Średnie
OpenEMR w wersjach przed 8.4.0 zawiera podatność na nieprawidłową autoryzację w płatnościach portalu pacjenta Rainforest, która ufa wartościom patientId, encounter i amount dostarczonym przez przeglądarkę zamiast wyprowadzać je z sesji portalu. Uwierzytelnieni pacjenci portalu mogą manipulować JSON wysyłanym do portal_payment.rainforest.php, aby webhook payin.authorized zapisywał sfałszowane kredyty ar_activity na wizytach innych pacjentów przekraczające faktycznie zapłaconą kwotę.
- CVE-2026-124480Wysokie
OpenEMR w wersji przed 8.4.0 zawiera podatność polegającą na obejściu autoryzacji, która pozwala użytkownikom z niskimi uprawnieniami na odczyt danych FHIR QuestionnaireResponse innych pacjentów poprzez wysłanie nagłówka APICSRFTOKEN. Atakujący mogą użyć wartości api_csrf_token_js ujawnionej w sesji, aby pominąć kontrole zakresu FHIR i wywołać GET /fhir/QuestionnaireResponse, eksfiltrując PHI z odpowiedzi kwestionariuszy w całej instancji.
- CVE-2026-124478Średnie
OpenEMR w wersjach przed 8.3.0 zawiera podatność na brak autoryzacji w akcji addRecall w /interface/main/messages/save.php, która pozwala uwierzytelnionym użytkownikom o niskich uprawnieniach na modyfikowanie danych przypomnień dowolnych pacjentów. Atakujący mogą przesłać spreparowany new_pid z polami przypomnienia, kontaktu, dostawcy, placówki i preferencji powiadomień, aby nadpisać rekordy pacjentów, do których nie mają dostępu.
- CVE-2026-124477Wysokie
OpenEMR w wersji przed 8.3.0 zawiera podatność polegającą na braku autoryzacji, która pozwala użytkownikom z niskimi uprawnieniami na usuwanie dowolnych rekordów przypomnień pacjentów poprzez akcję delete_Recall. Atakujący mogą wysłać żądania POST do /interface/main/messages/save.php z docelowym pid i r_ID, aby usunąć dane przypomnień bez kontroli ACL ani własności.
Oryginalny opis (angielski, źródło NVD)
OpenEMR is a free and open source electronic health records and medical practice management application. Prior to 8.3.0, userSessionLogout() in src/RestControllers/AuthorizationController.php uses decodeToken() to process an id_token_hint without verifying its signature and, when the referenced trusted session is absent, redirects to the caller-supplied post_logout_redirect_uri before validating it against the client's registered redirect URIs. An unauthenticated attacker can craft a logout link that sends a user to an arbitrary external site and invalidates the user's session, enabling convincing phishing flows from the legitimate logout endpoint. The endpoint is reachable when the OpenEMR REST API is enabled. This issue is fixed in version 8.3.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

