🇰🇷 한글 설명
OpenEMR 8.0.0.1 미만 버전에서 환자 인적 사항을 통해 처방전 CSS/HTML 인쇄 보기 시 저장형 XSS 취약점이 발생합니다. 이 취약점은 서버 측 PHP echo와 클라이언트 측 jQuery .html()을 통해 각각 다른 경로로 발생하며, 환자 이름 데이터가 적절히 검증되지 않아 발생합니다.
💡 쉬운 설명
환자의 이름을 악성 코드가 포함된 형태로 저장하면, 의료진이 처방전을 출력하거나 확인하는 과정에서 해당 코드가 실행될 수 있습니다. 이를 통해 공격자가 사용자의 세션을 탈취하거나 정보를 훔칠 위험이 있습니다.
🇺🇸 원문 (English)
OpenEMR is a free and open source electronic health records and medical practice management application. Prior to 8.0.0.1, Stored XSS in prescription CSS/HTML print view via patient demographics. That finding involves server-side rendering of patient names via raw PHP echo. This finding involves client-side DOM-based rendering via jQuery .html() in a completely different component (portal/sign/assets/signer_api.js). The two share the same root cause (unsanitized patient names in patient_data), but they have different sinks, different affected components, different trigger actions, and require independent fixes. This vulnerability is fixed in 8.0.0.1.
📍 영향받는 시스템
OpenEMR 8.0.0.1 미만 모든 버전
⚔️ 공격 벡터
환자 인적 사항(이름 등)에 악성 스크립트를 삽입하여 저장한 후, 처방전 인쇄 보기 기능을 실행하여 공격
🛡️ 대응 방법
OpenEMR을 최신 보안 패치가 적용된 8.0.0.1 버전 이상으로 업데이트하십시오.
🔧 검증 코드
명령어 결과에 8.0.0.1 이상의 버전 번호가 출력되면 취약점이 해결된 상태입니다.
curl -s http://<target_ip>/openemr/version.php | grep -E '8\.0\.0\.1'