CVE-2025-50383
설명
낮은 권한의 인증된 사용자는 악의적인 order_by 매개변수(예: order_by=IF(1=1,SLEEP(5),1))가 포함된 조작된 HTTP POST 요청을 전송하여 이 취약점을 악용할 수 있습니다. 이로 인해 시간 기반 블라인드 SQL 인젝션이 발생하여 기본 MySQL 데이터베이스에서 무단 SQL 실행이 가능해지며, 완전한 SQL 인젝션 악용으로 이어집니다.
영향을 받는 엔드포인트
낮은 권한의 인증된 사용자(역할: Customers 및 Providers)가 악용 가능:
- /index.php/customers/search
- /index.php/Unavailabilities/search
- /index.php/Appointments/search
관리자만 악용 가능:
- /index.php/providers/search
- /index.php/secretaries/search
- /index.php/admins/search
- /index.php/service_categories/search
- /index.php/services/search
- /index.php/Blocked_periods/search
- /index.php/Webhooks/search
재현 단계
- 취약한 엔드포인트 중 하나에 대한 유효한 인증된 요청을 가로챕니다.
- 요청 본문에 숨겨진 order_by 매개변수를 추가합니다.
- 악의적인 페이로드를 주입합니다. 예: order_by=IF(1=1,SLEEP(5),1)
- 수정된 요청을 전송합니다.
- 애플리케이션 응답이 지연되어 시간 기반 블라인드 SQL 인젝션이 확인됩니다.
수정됨
https://github.com/alextselegidis/easyappointments/releases/tag/1.5.2