🇰🇷 한글 설명
OpenMetadata의 인증 과정에서 사용자가 지정한 리다이렉트 대상이 검증되지 않아 발생하는 취약점입니다. 공격자가 제어하는 URL로 인증 토큰이 포함된 채 리다이렉트될 수 있어, 사용자의 계정 권한이 탈취될 위험이 있습니다.
💡 쉬운 설명
로그인 후 이동할 페이지를 공격자가 마음대로 설정할 수 있는 문제입니다. 사용자가 로그인을 완료하면 중요한 로그인 열쇠(토큰)가 공격자에게 그대로 전달되어 계정을 뺏길 수 있습니다.
🇺🇸 원문 (English)
OpenMetadata accepts a caller-supplied post-authentication redirect target and appends the issued token to it. SamlLoginServlet reads the callback request parameter and stores it in the HTTP session without comparing it against any configured or registered destination, and the assertion consumer servlet later formats that stored value into a URL carrying the freshly issued JWT together with the account's email and name before sending the redirect. The OIDC and OAuth2 handler follows the same pattern with its own redirect parameter and the issued identity token. A request naming a destination the attacker controls therefore causes the server to deliver a valid token for whoever completes the login to that destination. Because the token authenticates API calls as that account, a user who follows such a link and authenticates hands over control of their account. Version 2.0.0 removes the caller-supplied callback parameter; no 1.x release validates it.
📍 영향받는 시스템
OpenMetadata 1.x 버전 전체 (2.0.0 미만 버전)
⚔️ 공격 벡터
조작된 리다이렉트 파라미터가 포함된 로그인 링크를 사용자에게 클릭하도록 유도
🛡️ 대응 방법
OpenMetadata를 2.0.0 이상의 버전으로 업그레이드
🔧 검증 코드
출력된 버전 정보가 2.0.0 미만인지 확인하여 취약 여부를 판단합니다.
curl -s http://<target-ip>:<port>/api/v1/health | grep -i 'version' || echo 'Version info not found'