CVE-2026-25929
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 23 - wyżej niż 23% wszystkich znanych CVE
Streszczenie
OpenEMR to darmowa aplikacja open source do prowadzenia dokumentacji medycznej. Przed wersją 8.0.0 kontroler dokumentów w kontekście patient_picture udostępnia zdjęcie pacjenta na podstawie identyfikatora dokumentu lub pacjenta bez weryfikacji, czy bieżący użytkownik ma uprawnienia do tego pacjenta. Uwierzytelniony użytkownik z uprawnieniami ACL do dokumentów może podać identyfikator innego pacjenta i pobrać jego zdjęcie.
Ocena ryzyka
Nieuprawniony użytkownik może uzyskać dostęp do zdjęć pacjentów, co stanowi naruszenie poufności danych medycznych i może prowadzić do konsekwencji prawnych.
Rekomendacja
Zaktualizuj OpenEMR do wersji 8.0.0 lub nowszej. Do czasu aktualizacji ogranicz uprawnienia ACL do dokumentów.
Inne podatności w OpenEMR
Zobacz wszystkie- 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ć.
- CVE-2026-39932Krytyczne
OpenEMR do wersji 8.2.0 zawiera lukę zdalnego wykonania kodu w komponencie drzewa kategorii dokumentów (library/classes/Tree.class.php), która pozwala uwierzytelnionym administratorom na wykonanie dowolnych poleceń systemu operacyjnego poprzez wstrzyknięcie ładunków PHP do tabeli kategorii bazy danych. Atakujący mogą połączyć dowolne wykonanie SQL, aby zmienić typ kolumny id na VARCHAR i wstawić złośliwy ładunek PHP, który jest następnie wykonywany przez niesanitizowane wywołanie eval() przy każdym uruchomieniu CategoryTree, w tym na stronach nieuwierzytelnionych i o niskich uprawnieniach, co skutkuje wykonaniem poleceń jako użytkownik serwera WWW.
- 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-104139Średnie
W OpenEMR przed wersją 8.3.0 skrypt library/ajax/set_pt.php pozwala każdemu uwierzytelnionemu użytkownikowi ustawić dowolny identyfikator pacjenta w sesji bez sprawdzenia ACL, a download_template.php ufa tej wartości. Użytkownik o niskich uprawnieniach może pobrać szablon dokumentu z danymi demograficznymi, wizytami, alergiami, lekami i listą problemów innego pacjenta.
- CVE-2026-104138Średnie
W OpenEMR przed wersją 8.3.0 skrypty custom/ajax_download.php, custom/download_qrda.php, custom/export_qrda_xml.php i custom/qrda_download.php walidują CSRF, ale nie egzekwują uprawnień ACL patients/med. Akceptują też nieograniczony report_id, co pozwala użytkownikowi o niskich uprawnieniach pobrać dokumenty QRDA Category One i Three dla pacjentów w miarach.
- 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.
Oryginalny opis (angielski, źródło NVD)
OpenEMR is a free and open source electronic health records and medical practice management application. Prior to version 8.0.0, the document controller’s `patient_picture` context serves the patient’s photo by document ID or patient ID without verifying that the current user is authorized to access that patient. An authenticated user with document ACL can supply another patient’s ID and retrieve their photo. Version 8.0.0 fixes the issue.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

