🇰🇷 한글 설명
OpenEMR 4의 환자 사진 기능에서 파일 확장자 검증이 미흡하여 실행 가능한 확장자를 숨긴 파일을 업로드할 수 있는 취약점입니다. 공격자는 이중 확장자(예: .php.jpg)를 이용해 PHP 코드를 실행할 수 있으며, documents/patient 디렉토리를 통해 직접 접근으로 악의적인 코드를 실행시킬 수 있습니다.
💡 쉬운 설명
OpenEMR 의료 시스템의 환자 사진 업로드 기능에 보안 검사 결함이 있어, 공격자가 해킹된 프로그램을 숨겨서 업로드할 수 있습니다. 업로드된 파일에 접근하면 공격자의 악성 코드가 실행되어 시스템이 완전히 제어될 수 있습니다.
🇺🇸 원문 (English)
Unrestricted file upload vulnerability in the patient photograph functionality in OpenEMR 4 allows remote attackers to execute arbitrary PHP code by uploading a file with an executable extension followed by a safe extension, then accessing it via a direct request to the patient directory under documents/.
📍 영향받는 시스템
OpenEMR 4.x (4.0 이상 4.2 이전 버전)
⚔️ 공격 벡터
이중 확장자 파일(.php.jpg 등)을 환자 사진으로 업로드 후 HTTP 직접 요청으로 PHP 코드 실행
🛡️ 대응 방법
OpenEMR을 최신 패치 버전으로 업그레이드하고, 파일 업로드 디렉토리의 PHP 실행 권한 제거 및 화이트리스트 기반 확장자 검증 구현
🔧 검증 코드
OpenEMR 버전 정보 확인 후 4.2.0 이상인지 검증. 4.x 버전이면서 패치되지 않은 상태이면 취약점 존재
find /path/to/openemr -name 'version.php' -o -name 'config.php' | head -1 | xargs grep -i 'version\|GLOBALS' 2>/dev/null | head -3