CVE-2026-40076
WysokieStreszczenie
OpenMRS Core w wersjach 2.7.8 i wcześniejszych oraz 2.8.0 do 2.8.5 jest podatny na atak typu Zip Slip, który umożliwia atakującemu przesyłanie złośliwych plików. W wyniku niewłaściwego sprawdzania ścieżek podczas automatycznej ekstrakcji archiwów .omod, pliki mogą być zapisywane poza zamierzonym katalogiem modułu.
Ocena ryzyka
Atakujący z dostępem do przesyłania modułów może umieścić złośliwe pliki w krytycznych lokalizacjach, co prowadzi do możliwości zdalnego wykonania kodu. To stwarza poważne zagrożenie dla bezpieczeństwa aplikacji i danych.
Rekomendacja
Zaleca się aktualizację OpenMRS Core do najnowszej wersji, która naprawia tę podatność. Dodatkowo, warto wprowadzić dodatkowe kontrole bezpieczeństwa przy przesyłaniu plików.
Inne podatności w OpenMRS Core
Zobacz wszystkie- CVE-2026-41258Krytyczne
W OpenMRS, od wersji 2.7.0 do przed 2.7.9 oraz 2.8.6, metoda ConceptReferenceRangeUtility.evaluateCriteria() ocenia kryteria przechowywane w bazie danych jako szablony Apache Velocity bez odpowiedniej konfiguracji sandbox. To umożliwia nieograniczone odbicie Java przez wyrażenia szablonów.
- CVE-2026-40075Wysokie
OpenMRS Core do wersji 2.7.8 oraz 2.8.0-2.8.5 zawiera podatność na path traversal w endpointcie `/openmrs/moduleResources/{moduleid}`. Funkcja getFile() nie waliduje ścieżki, co pozwala nieuwierzytelnionemu atakującemu na odczyt dowolnych plików, w tym /etc/passwd i plików konfiguracyjnych z danymi logowania do bazy danych. Podatność jest wykorzystywalna tylko na Apache Tomcat w wersjach starszych niż 8.5.31.
Oryginalny opis (angielski, źródło NVD)
OpenMRS Core is an open source electronic medical record system platform. In versions 2.7.8 and earlier and versions 2.8.0 through 2.8.5, the module upload endpoint at POST `/openmrs/ws/rest/v1/module` is vulnerable to a Zip Slip path traversal attack. During automatic extraction of uploaded .omod archives in `WebModuleUtil.startModule()`, ZIP entries under web/module/ are checked only to see whether the full entry path starts with `..,` and the remaining path is then concatenated into the destination path without normalization or a boundary check. A crafted archive can therefore include entries such as `web/module/../../../../malicious.jsp` and cause files to be written outside the intended module directory. An authenticated attacker with module upload access can write arbitrary files to locations such as the web application root and achieve remote code execution by uploading a JSP file and then requesting it. The issue is compounded by the fact that the module.allow_web_admin runtim

