CVE-2026-124469
KrytyczneCVSS 9.9Streszczenie
OpenEMR w wersji przed 8.3.0 zawiera podatność typu SQL injection w wyszukiwaniu leków w Fee Sheet (DrugSalesService::sellDrug), która interpoluje pole POST prod[N][warehouse] do klauzuli ORDER BY. Użytkownicy z niskimi uprawnieniami mogą przesyłać linie produktów Fee Sheet z podzapytaniami stałymi, aby uruchomić czasowy ślepy oracle i wyodrębnić dane pacjentów oraz hashe bcrypt z users_secure.
Ocena ryzyka
Atakujący może uzyskać dostęp do wrażliwych danych pacjentów oraz skrótów haseł użytkowników, co może prowadzić do dalszych ataków i naruszenia prywatności. Stanowi to poważne ryzyko dla bezpieczeństwa danych medycznych.
Rekomendacja
Zaktualizuj OpenEMR do wersji 8.3.0 lub nowszej. Dodatkowo rozważ wdrożenie monitorowania nietypowych zapytań SQL i ograniczenie uprawnień kont użytkowników.
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-124487Średnie
OpenEMR w wersjach przed 8.4.0 zawiera podatność na nieprawidłową autoryzację w trasie POST /fhir/DocumentReference/$docref, która pozwala użytkownikom o niskich uprawnieniach na generowanie CCDA dowolnego pacjenta. Atakujący posiadający jedynie uprawnienia do danych demograficznych i dokumentów może podać parametr ofiary, a następnie pobrać pełny CCDA z dokumentów pacjenta, aby wyeksfiltrować dane kliniczne.
- 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-124483Wysokie
OpenEMR w wersji przed 8.4.0 zawiera podatność polegającą na nieprawidłowej autoryzacji, ponieważ trasy API REST recept sprawdzają ACL patients.med zamiast patients.rx i nie wymagają konkretnego bitu uprawnień, przez co dostęp tylko do odczytu historii medycznej przechodzi weryfikację. Uwierzytelnieni pracownicy mogą użyć tokenu APICSRFTOKEN do wyliczenia UUID recept, tworzenia fałszywych recept dla dowolnych pacjentów i dezaktywacji istniejących recept w całej instancji.
- 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.
Oryginalny opis (angielski, źródło NVD)
OpenEMR before 8.3.0 contains an SQL injection vulnerability in the Fee Sheet drug-inventory lookup (DrugSalesService::sellDrug) that interpolates the prod[N][warehouse] POST field into an ORDER BY clause. Low-privileged authenticated users can submit Fee Sheet product lines with constant subqueries to run a time-based blind oracle, extracting patient data and users_secure bcrypt hashes.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

