🇰🇷 한글 설명
Dockyard는 Docker 컨테이너 관리 애플리케이션으로, 1.1.0 이전 버전에서 컨테이너 시작/중지 작업이 CSRF 보호 없이 GET 요청으로 처리됩니다. 원격 공격자는 로그인된 관리자의 브라우저가 특정 URL에 요청을 보내도록 유도하여 임의의 컨테이너를 시작하거나 중지시킬 수 있습니다. 이 취약점은 1.1.0 버전에서 수정되었습니다.
💡 쉬운 설명
관리자가 악성 웹사이트를 방문하기만 해도 공격자가 관리자 권한으로 서버의 Docker 컨테이너를 켜거나 끌 수 있습니다. 마치 남이 내 리모컨을 몰래 조작하는 것과 같습니다.
🇺🇸 원문 (English)
Dockyard is a Docker container management app. Prior to 1.1.0, Docker container start and stop operations are performed through GET requests without CSRF protection. A remote attacker can cause a logged-in administrator's browser to request /apps/action.php?action=stop&name=<container> or /apps/action.php?action=start&name=<container>, which starts or stops the target container. This vulnerability is fixed in 1.1.0.
📍 영향받는 시스템
Dockyard 1.1.0 미만 버전 (Docker 컨테이너 관리 애플리케이션)
⚔️ 공격 벡터
공격자가 CSRF 공격으로 로그인된 관리자의 브라우저를 통해 /apps/action.php?action=stop|start&name=<container> 엔드포인트에 GET 요청을 유도
🛡️ 대응 방법
Dockyard를 1.1.0 이상 버전으로 업그레이드하여 CSRF 보호 기능이 적용된 버전 사용
🔧 검증 코드
CSRF 토큰 관련 문자열이 출력되면 보호 기능이 있는 것이고, 'No CSRF protection found' 메시지가 출력되면 취약한 버전일 수 있으므로 Dockyard 버전을 확인해야 합니다.
curl -s http://localhost/apps/action.php 2>/dev/null | grep -i 'csrf\|token' || echo 'No CSRF protection found - check Dockyard version'