🇰🇷 한글 설명
CyberPanel 2.4.5 이전 버전의 AI Scanner 대시보드에 저장형 XSS 취약점이 존재합니다. POST /api/ai-scanner/callback 엔드포인트가 인증 없이 ScanHistory의 findings_json 필드를 덮어쓸 수 있어, 공격자가 악성 자바스크립트를 주입할 수 있습니다. 관리자가 대시보드를 열면 해당 스크립트가 인증된 세션에서 실행되어 크론 작업 등록을 통한 원격 코드 실행으로 이어질 수 있습니다.
💡 쉬운 설명
인증 없이 누구나 관리 화면에 악성 코드를 심을 수 있는 취약점입니다. 관리자가 해당 화면을 열면 공격자가 서버 권한까지 탈취할 수 있습니다.
🇺🇸 원문 (English)
CyberPanel versions prior to 2.4.5 contain a stored cross-site scripting vulnerability in the AI Scanner dashboard where the POST /api/ai-scanner/callback endpoint lacks authentication and allows unauthenticated attackers to inject malicious JavaScript by overwriting the findings_json field of ScanHistory records. Attackers can inject JavaScript that executes in an administrator's authenticated session when they visit the AI Scanner dashboard, allowing them to issue same-origin requests to plant cron jobs and achieve remote code execution on the server.
📍 영향받는 시스템
CyberPanel 2.4.5 미만 버전
⚔️ 공격 벡터
인증 없이 /api/ai-scanner/callback에 조작된 요청을 보내 findings_json에 악성 스크립트를 저장한 뒤, 관리자가 대시보드를 열 때 세션 권한으로 크론 작업을 등록해 원격 코드를 실행
🛡️ 대응 방법
CyberPanel을 2.4.5 이상 버전으로 업데이트하고, 업데이트 전까지 해당 callback 엔드포인트를 외부에서 차단
🔧 검증 코드
출력된 버전이 2.4.5 미만이면 취약한 것이므로 즉시 업데이트가 필요하고, 2.4.5 이상이면 패치가 적용된 상태입니다.
cyberpanel version 2>/dev/null || grep -i version /usr/local/CyberCP/version.txt 2>/dev/null