🇰🇷 한글 설명
Docker 샌드박스가 OAuth 토큰 엔드포인트 호스트 이름을 대소문자를 구분하여 비교하는 반면, 요청 라우팅은 대소문자를 구분하지 않는 결함이 있습니다. 이로 인해 샌드박스 내의 신뢰할 수 없는 코드가 대소문자를 변형한 호스트 이름을 사용하여 응답 마스킹을 우회하고 관리형 자격 증명을 탈취할 수 있습니다.
💡 쉬운 설명
도커 내부의 프로그램이 대소문자를 교묘하게 바꾼 주소를 사용하여 보안 필터를 속일 수 있는 문제입니다. 이 과정에서 사용자의 중요한 로그인 정보(토큰)가 보호되지 않고 유출될 위험이 있습니다.
🇺🇸 원문 (English)
Docker Sandboxes compared OAuth token-endpoint hostnames case-sensitively when deciding whether to mask managed credential responses, while request routing treated DNS hostnames case-insensitively. Untrusted code inside a sandbox could use a case-variant hostname to reach the genuine provider endpoint while bypassing response masking. If a user completed the OAuth flow, the provider's access and refresh tokens could be returned unmasked to the sandbox, exposing host-managed credentials.
📍 영향받는 시스템
Docker Sandboxes (OAuth token-endpoint masking 기능 사용 시)
⚔️ 공격 벡터
대소문자가 다른 호스트 이름을 사용하여 보안 마스킹 로직을 우회하고 인증 토큰을 탈취
🛡️ 대응 방법
Docker 엔진을 최신 보안 패치가 적용된 버전으로 업데이트하여 호스트 이름 비교 로직을 일치시킴
🔧 검증 코드
출력된 Docker 엔진 버전이 해당 취약점이 해결된 패치 버전인지 보안 공지(Advisory)와 대조하여 확인
docker version --format '{{.Server.Version}}'