🇰🇷 한글 설명
CtrlPanel 1.1.1 및 이전 버전에서 관리자 컨트롤러의 DataTable 엔드포인트에 권한 검증이 누락되어 발생하는 취약점입니다. 인증된 사용자라면 누구나 관리자 전용 데이터에 접근할 수 있으며, 이를 통해 사용자 개인정보, 결제 기록, 쿠폰 코드 등 민감한 정보가 노출될 수 있습니다.
💡 쉬운 설명
일반 사용자 계정으로 로그인한 사람이 관리자만 볼 수 있는 중요한 정보들을 몰래 훔쳐볼 수 있는 보안 결함입니다. 고객의 개인정보나 결제 내역 같은 민감한 데이터가 유출될 위험이 있습니다.
🇺🇸 원문 (English)
CtrlPanel is open-source billing software for hosting providers. In versions 1.1.1 and prior, multiple admin controllers expose DataTable endpoints without authorization checks, allowing any authenticated user to access sensitive administrative data that should be restricted to administrators only. The affected admin controllers define datatable() methods that are reachable via GET requests but lack any permission or role verification. Because the routes fall under the /admin/ prefix, operators may assume they are protected - however, the middleware applied to this route group does not enforce admin-level authorization on these specific endpoints. As a result, any authenticated user (regardless of role) can query these endpoints and receive paginated JSON responses containing sensitive records. Exploitation can result in enumeration of user PII, payment and transaction records, active voucher and coupon codes, role and permission structure, server ownership mappings and support ticket contents. This issue has been fixed in version 1.2.0.
📍 영향받는 시스템
CtrlPanel 1.1.1 및 그 이전 버전
⚔️ 공격 벡터
인증된 사용자가 권한 검증이 없는 /admin/ 경로의 DataTable GET 엔드포인트에 직접 요청을 보내 데이터 탈취
🛡️ 대응 방법
CtrlPanel을 최신 버전인 1.2.0 이상으로 업데이트하십시오.
🔧 검증 코드
애플리케이션의 버전 정보를 확인하여 1.2.0 미만인 경우 취약한 상태로 판단합니다.
curl -s -I http://<target_ip>/admin/datatable_endpoint_path | grep -i 'version' || echo 'Check version via application UI'