CVE-2026-103939
ŚrednieCVSS 5.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 33 - wyżej niż 33% wszystkich znanych CVE
Streszczenie
W OpenEMR przed wersją 8.3.0 skrypt file_download.php modułu Weno nie sprawdza uprawnień ACL ani tokenu CSRF i ignoruje wynik walidacji poświadczeń administratora. Przy włączonym module Weno domyślne żądanie GET wywołuje usunięcie aptek Weno, co pozwala każdemu zalogowanemu użytkownikowi opróżnić tabelę weno_pharmacy, a atak CSRF może to wywołać przez zalogowaną ofiarę.
Ocena ryzyka
Możliwe opróżnienie katalogu aptek do e-recept, co może uniemożliwić wystawianie recept i zakłócić pracę placówki medycznej.
Rekomendacja
Zaktualizować OpenEMR do wersji 8.3.0 lub nowszej, a do czasu aktualizacji ograniczyć dostęp do modułu Weno i weryfikować integralność katalogu aptek.
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, interface/modules/custom_modules/oe-module-weno/scripts/file_download.php has no ACL or CSRF check and ignores the result of validateAdminCredentials(). When the Weno module is enabled, the default GET path calls PharmacyService::removeWenoPharmacies() before attempting a refetch, allowing any authenticated user to truncate the weno_pharmacy table and allowing a cross-site request to trigger the same operation through a logged-in victim. A failed later download can leave the e-prescribing pharmacy directory empty and unavailable. This issue is fixed in version 8.3.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

