CVE-2026-103938
WysokieCVSS 7.1Streszczenie
W OpenEMR przed wersją 8.3.0 plik interface/patient_file/pos_checkout_ippf.php wykonuje operacje zmieniające stan void, voidall i regen przez żądania GET bez walidacji tokenu CSRF. Kontrola integralności form_checksum jest warunkowa i pomijana, gdy parametr zostanie pominięty, co pozwala żądaniu cross-site wymusić na uwierzytelnionym użytkowniku rozliczeń anulowanie checkoutów lub regenerację liczników faktur.
Ocena ryzyka
Atakujący może zmienić stan księgi, raportowanie finansowe i zapisy audytowe, co narusza integralność danych finansowych i może utrudnić rozliczenia.
Rekomendacja
Zaktualizuj OpenEMR do wersji 8.3.0 lub nowszej. Do czasu aktualizacji rozważ ograniczenie dostępu do modułu rozliczeń i weryfikuj tokeny CSRF.
Inne podatności w OpenEMR
Zobacz wszystkie- CVE-2026-65983Wysokie
W OpenEMR przed wersją 8.2.0 moduł faksu (SignalWireClient) odszyfrowuje dokument pacjenta i zapisuje go w postaci jawnej pod sites/{siteId}/fax, chroniąc go tylko przewidywalną nazwą uniqid() i nie usuwając pliku. Nieuwierzytelniony atakujący może odczytać trwałe dokumenty pacjentów, nawet przy włączonym szyfrowaniu dysku.
- CVE-2026-115573Wysokie
W OpenEMR przed wersją 8.3.0 plik library/classes/Controller.class.php pozwala na jawne wywołanie controller.php dla kontrolerów nieobecnych w CONTROLLER_ACL_MAP, a checkControllerAcl() nie egzekwuje żadnych uprawnień dla takich wpisów. Użytkownik z niskimi uprawnieniami może wywołać C_X12Partner::edit_action_process() w celu utworzenia lub zmiany hostów i poświadczeń routingu ubezpieczeniowego albo C_PatientFinder::find_action_process() w celu wyliczenia danych pacjentów. Wspólna przyczyna fail-open w dyspozytorze odsłania także inne kontrolery administracyjne.
- CVE-2026-104137Wysokie
W OpenEMR przed wersją 8.3.0 gałąź sms_search w interface/main/messages/save.php wymaga uwierzytelnionej sesji, ale nie egzekwuje ACL na poziomie pacjenta ani funkcji. Użytkownik z niskimi uprawnieniami, który nie ma dostępu do danych pacjentów przez normalny interfejs, może przeszukać endpoint MedEx SMS i otrzymać identyfikatory pacjentów, imiona, numery telefonów, status zgody SMS oraz informacje o ostatnich wiadomościach.
- CVE-2026-104136Wysokie
W OpenEMR przed wersją 8.3.0 gałąź new_recall w interface/main/messages/save.php przyjmuje pid dostarczony przez wywołującego bez egzekwowania autoryzacji na poziomie pacjenta ani workflow recall. Użytkownik z niskimi uprawnieniami, który zna lub wyliczy identyfikator pacjenta, może pobrać dane pacjenta, pola kontaktowe, preferencje powiadomień HIPAA, informacje o ostatnich wizytach oraz istniejące informacje recall.
- CVE-2026-104133Wysokie
W OpenEMR przed wersją 8.3.0 plik interface/modules/custom_modules/oe-module-dorn/public/compendium_install.php sprawdza uwierzytelnienie i CSRF, ale nie wymaga ACL admin/users egzekwowanego przez siostrzane skrypty administracyjne DORN. Gdy moduł DORN jest włączony, użytkownik z niskimi uprawnieniami może podać labGuid, który powoduje, że LabCompendiumInstall::uninstall() usuwa typy procedur detail i result oraz dezaktywuje typy zamówień przed krokiem ponownej instalacji.
- CVE-2026-103935Wysokie
W OpenEMR przed wersją 8.3.0 pliki interface/forms/transfer_summary/new.php i interface/forms/functional_cognitive_status/new.php renderują zapisane wartości transfer_to, code i codetext za pomocą text(), które używa ENT_NOQUOTES, wewnątrz atrybutów HTML value w podwójnych cudzysłowach. Uwierzytelniony użytkownik kliniczny może zapisać wartość zawierającą podwójny cudzysłów, który ucieka z atrybutu i wstrzykuje znaczniki obsługi zdarzeń, gdy inny klinicysta otworzy formularz.
- CVE-2017-1000241Wysokie
Aplikacja OpenEMR w wersjach 5.0.0, 5.0.1-dev i wcześniejszych jest podatna na lukę umożliwiającą eskalację uprawnień w pionie. Luka ta pozwala uwierzytelnionym użytkownikom niebędącym administratorami na przeglądanie i modyfikowanie informacji dostępnych tylko dla administratorów.
- CVE-2017-16540Wysokie
OpenEMR w wersjach przed 5.0.0 Patch 5 umożliwia nieautoryzowane zdalne kopiowanie bazy danych, ponieważ plik setup.php udostępnia funkcjonalność klonowania istniejącej witryny OpenEMR na dowolny serwer MySQL kontrolowany przez atakującego za pomocą spreparowanego parametru stanu.
- CVE-2017-9380Wysokie
OpenEMR w wersji 5.0.0 i wcześniejszych pozwala użytkownikom o niskich uprawnieniach na przesyłanie plików niebezpiecznych typów, co może prowadzić do wykonania dowolnego kodu w kontekście podatnej aplikacji.
- CVE-2026-102940Krytyczne
OpenEMR przed wersją 8.4.0 ma błąd w kontrolerach C_Document.class.php: akcje zapisu, w tym move_action_process(), nie weryfikują dostępu wywołującego do dokumentu źródłowego, bieżącego pacjenta i kategorii ani do docelowego pacjenta i kategorii przed wykonaniem mutacji przez Document::change_patient(). Nisko uprzywilejowany uwierzytelniony użytkownik może przypisać dowolny dokument do pacjenta lub kategorii, do której ma dostęp, a następnie go odczytać.
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/patient_file/pos_checkout_ippf.php performs state-changing void, voidall, and regen operations through GET requests without CSRF token validation. The form_checksum integrity check is conditional and is skipped when the parameter is omitted, allowing a cross-site request to force an authenticated billing user to void checkouts or regenerate invoice counters. The resulting changes can alter ledger state, financial reporting, and audit records. This issue is fixed in version 8.3.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

