🇰🇷 한글 설명
Apache 2.x HTTP 서버용 인증 모듈인 mod_auth_openidc 2.4.9 미만 버전에서 발생하는 취약점입니다. oidc_validate_redirect_url() 함수가 브라우저와 다르게 URL을 해석하여 로그아웃 기능 시 Open Redirect 취약점이 발생할 수 있습니다.
💡 쉬운 설명
로그아웃을 할 때 사용자를 가짜 사이트로 몰래 이동시킬 수 있는 보안 약점입니다. 공격자가 이 기능을 악용하면 사용자가 안전한 사이트에 있다고 믿게 만든 뒤 피싱 사이트로 유도할 수 있습니다.
🇺🇸 원문 (English)
mod_auth_openidc is an authentication/authorization module for the Apache 2.x HTTP server that functions as an OpenID Connect Relying Party, authenticating users against an OpenID Connect Provider. In versions prior to 2.4.9, `oidc_validate_redirect_url()` does not parse URLs the same way as most browsers do. As a result, this function can be bypassed and leads to an Open Redirect vulnerability in the logout functionality. This bug has been fixed in version 2.4.9 by replacing any backslash of the URL to redirect with slashes to address a particular breaking change between the different specifications (RFC2396 / RFC3986 and WHATWG). As a workaround, this vulnerability can be mitigated by configuring `mod_auth_openidc` to only allow redirection whose destination matches a given regular expression.
📍 영향받는 시스템
mod_auth_openidc versions prior to 2.4.9
⚔️ 공격 벡터
로그아웃 요청 시 조작된 URL을 사용하여 사용자를 외부 악성 사이트로 리다이렉트 시킴
🛡️ 대응 방법
mod_auth_openidc를 2.4.9 버전 이상으로 업데이트하거나, 리다이렉트 목적지를 정규식으로 제한하도록 설정
🔧 검증 코드
설치된 mod_auth_openidc의 버전을 확인하여 2.4.9 미만인지 체크합니다.
apache2ctl -M | grep mod_auth_openidc && dpkg -l | grep mod-auth-openidc || rpm -q mod_auth_openidc