🇰🇷 한글 설명
OmniAuth는 Rack 미들웨어 기반의 인증 시스템이다. 2.2.0 이전 버전에서는 full_host가 고정되어 있지 않고 프레임워크 차원의 호스트 헤더 검증도 없을 때, 제공자 콜백 URL을 요청자가 조작할 수 있는 호스트 정보로부터 생성한다. 이로 인해 인증되지 않은 원격 공격자가 위조된 Host 헤더를 전달하여 호스트 헤더 인젝션 위험이 발생할 수 있다. 적절히 구성된 Rails host authorization 또는 고정된 full_host를 사용하는 애플리케이션은 영향을 받지 않는다.
💡 쉬운 설명
로그인 과정에서 사용되는 주소를 공격자가 임의로 바꿀 수 있는 문제입니다. 이로 인해 사용자가 가짜 사이트로 유도되거나 인증 정보가 노출될 위험이 있습니다.
🇺🇸 원문 (English)
OmniAuth is a flexible authentication system utilizing Rack middleware. Prior to 2.2.0, OmniAuth derives provider callback URLs from request-controlled host information when neither a fixed full_host nor framework-level incoming host validation is configured. A remote unauthenticated client can supply a forged Host header, creating a host header injection risk in applications whose web framework does not verify incoming host headers. Applications using appropriately configured Rails host authorization or a fixed full_host are not affected by this path. This issue is fixed in version 2.2.0.
📍 영향받는 시스템
OmniAuth 2.2.0 미만 버전을 사용하며 full_host 미설정 및 프레임워크 호스트 검증이 없는 애플리케이션
⚔️ 공격 벡터
인증되지 않은 공격자가 조작된 Host 헤더를 포함한 요청을 보내 콜백 URL을 변조함
🛡️ 대응 방법
OmniAuth를 2.2.0 이상으로 업그레이드하고, full_host를 고정하거나 Rails host authorization을 설정함
🔧 검증 코드
출력된 버전이 2.2.0 미만이면 취약하며, 2.2.0 이상이면 수정된 버전임
gem list omniauth 2>/dev/null | grep omniauth