OpenMRS Core는 오픈 소스 전자 의료 기록 시스템 플랫폼입니다. 버전 2.7.8 이하 및 버전 2.8.0~2.8.5에서 POST `/openmrs/ws/rest/v1/module`의 모듈 업로드 엔드포인트는 Zip Slip 경로 통과 공격에 취약합니다. 'WebModuleUtil.startModule()'에서 업로드된 .omod 아카이브를 자동으로 추출하는 동안 web/module/ 아래의 ZIP 항목은 전체 항목 경로가 '..'로 시작하는지 확인하기 위해서만 검사되고 나머지 경로는 대상 파일에 연결됩니다.
OpenMRS Core는 오픈 소스 전자 의료 기록 시스템 플랫폼입니다. 버전 2.7.8 이하 및 버전 2.8.0~2.8.5에서 POST /openmrs/ws/rest/v1/module의 모듈 업로드 엔드포인트는 Zip Slip 경로 통과 공격에 취약합니다. 'WebModuleUtil.startModule()'에서 업로드된 .omod 아카이브를 자동으로 추출하는 동안 web/module/ 아래의 ZIP 항목은 전체 항목 경로가 '..'로 시작하는지 확인하기 위해서만 검사되며 나머지 경로는 정규화나 경계 확인 없이 대상 경로에 연결됩니다. 따라서 조작된 아카이브에는 web/module/../../../../malicious.jsp와 같은 항목이 포함될 수 있으며 파일이 의도한 모듈 디렉토리 외부에 기록될 수 있습니다.
모듈 업로드 액세스 권한이 있는 인증된 공격자는 웹 애플리케이션 루트와 같은 위치에 임의의 파일을 쓸 수 있으며 JSP 파일을 업로드한 후 요청하여 원격 코드 실행을 달성할 수 있습니다. module.allow_web_admin 런타임 속성이 레거시 UI 컨트롤러에서는 적용되지만 REST API 업로드 경로에서는 적용되지 않는다는 사실로 인해 문제가 더욱 복잡해집니다. 따라서 웹 기반 모듈 관리를 차단하기 위해 해당 속성을 사용하는 배포는 REST 엔드포인트를 통해 계속 노출됩니다. 이 문제는 2.7.x 라인의 2.7.8 이후 버전과 2.8.6 이상 버전에서 해결되었습니다.
왜 이 VPI인가 (설명가능 · 실험적)
VPI 산정 기준
| 영향도 | 94.00 |
| 악용 신호(PoC 존재) | ×1.20 |
| VPI | 100.00 |
VPI 공식 vpi-v1 기준
| 소스 | CVSS 버전 | 기본 점수 | 심각도 | 벡터 문자열 | 평가일 |
|---|---|---|---|---|---|
| NVDNIST | 4.0 | 9.4 | CRITICAL | CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X | 2026. 05. 13. |
| NVDNIST | 3.1 |
| 8.8 |
HIGH |
| CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| 2026. 05. 13. |
| OSV3rd | 3.1 | 8.7 | HIGH | CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:N | 2026. 05. 05. |