🇰🇷 한글 설명
Dozzle 10.5.2 미만 버전에서 /exec 및 /attach 엔드포인트의 WebSocket 업그레이더가 모든 출처(Origin)를 허용하는 보안 취약점이 발견되었습니다. JWT 쿠키의 SameSite 설정이 Lax로 되어 있어, 공격자가 동일 사이트 내의 다른 서비스나 서브도메인을 통해 피해자의 인증 쿠키를 이용한 Cross-Site WebSocket Hijacking(CSWSH) 공격을 수행할 수 있습니다. 이를 통해 공격자는 피해자가 권한을 가진 컨테이너에 대해 대화형 쉘 접근 권한을 획득할 수 있습니다.
💡 쉬운 설명
로그를 보는 프로그램의 보안 설정 오류로 인해, 해커가 사용자의 권한을 몰래 빌려 컨테이너 내부 명령어를 실행할 수 있는 문제입니다. 사용자가 로그인된 상태에서 해커가 만든 악성 페이지를 방문하면 발생할 수 있습니다.
🇺🇸 원문 (English)
Dozzle is a realtime log viewer for docker containers. Prior to 10.5.2, he WebSocket upgrader for the /exec and /attach endpoints uses CheckOrigin: func(r *http.Request) bool { return true }, accepting upgrade requests from any origin. Combined with the JWT cookie using SameSite: Lax, this enables Cross-Site WebSocket Hijacking (CSWSH). An attacker hosting a page on a same-site origin (e.g., a sibling subdomain, or another service on localhost) can initiate a WebSocket connection to the exec endpoint that carries the victim's valid JWT cookie, gaining interactive shell access in any container the victim is authorized to access. This vulnerability is fixed in 10.5.2.
📍 영향받는 시스템
Dozzle 10.5.2 미만 모든 버전
⚔️ 공격 벡터
동일 사이트 내 다른 서비스나 서브도메인을 이용한 Cross-Site WebSocket Hijacking (CSWSH)
🛡️ 대응 방법
Dozzle 버전을 10.5.2 이상으로 업데이트하십시오.
🔧 검증 코드
명령어 결과에 10.5.2 미만의 버전 번호가 출력되면 취약한 상태입니다.
curl -s http://<dozzle-host>:<port>/version | grep -E '10\.[0-5]\.[0-4]'