🇰🇷 한글 설명
OpenEMR 8.0.0.3 미만 버전에서 발생하는 IDOR 취약점으로, 수수료 시트 저장 로직의 결함이 있습니다. 권한이 있는 사용자가 숨겨진 form 필드를 조작하여 다른 환자의 약품 판매 기록을 삭제, 수정 또는 조회할 수 있습니다.
💡 쉬운 설명
로그인한 사용자가 데이터의 고유 번호를 살짝 바꾸는 것만으로 다른 환자의 의료 기록을 마음대로 조작할 수 있는 보안 약점입니다. 이로 인해 환자의 약품 판매 정보가 유출되거나 잘못 변경될 위험이 있습니다.
🇺🇸 원문 (English)
OpenEMR is a free and open source electronic health records and medical practice management application. Prior to version 8.0.0.3, an Insecure Direct Object Reference (IDOR) vulnerability in the fee sheet product save logic (`library/FeeSheet.class.php`) allows any authenticated user with fee sheet ACL access to delete, modify, or read `drug_sales` records belonging to arbitrary patients by manipulating the hidden `prod[][sale_id]` form field. The `save()` method uses the user-supplied `sale_id` in five SQL queries (SELECT, UPDATE, DELETE) without verifying that the record belongs to the current patient and encounter. Version 8.0.0.3 contains a patch.
📍 영향받는 시스템
OpenEMR 8.0.0.3 미만 모든 버전
⚔️ 공격 벡터
인증된 사용자가 HTTP 요청 내의 'prod[][sale_id]' 필드 값을 조작하여 타인의 데이터에 접근
🛡️ 대응 방법
OpenEMR을 최신 패치가 적용된 8.0.0.3 버전 이상으로 업데이트하십시오.
🔧 검증 코드
설치된 OpenEMR의 버전을 확인하여 8.0.0.3 미만인 경우 취약한 상태로 간주합니다.
php -r 'echo "OpenEMR Version Check";' # 실제 버전 확인은 설치된 소스 코드의 버전 파일 또는 관리자 페이지를 통해 수행해야 함
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
💻 영향받는 소프트웨어
IBM Security Verify Access