🇰🇷 한글 설명
openvpn-auth-oauth2는 OIDC 기반 SSO 인증 흐름을 처리하기 위해 OpenVPN 서버와 연동되는 플러그인/관리 인터페이스 클라이언트입니다. 1.26.3 이상 1.27.3 미만 버전의 실험적 플러그인 모드(plugin 지시자로 공유 라이브러리 로드)에서는, 인증 로직이 거부한 WebAuth/SSO 미지원 클라이언트(예: Linux의 openvpn CLI)가 VPN에 잘못 접속될 수 있습니다. 기본 관리 인터페이스 모드는 OpenVPN 플러그인 반환 코드 메커니즘을 사용하지 않아 영향을 받지 않으며, 1.27.3에서 패치되었습니다.
💡 쉬운 설명
인증이 거부되어야 할 일부 VPN 클라이언트가 실제로는 VPN 접속을 허용받을 수 있는 심각한 인증 우회 취약점입니다. 실험적 플러그인 모드를 사용하는 환경만 영향을 받으며, 기본 설정은 안전합니다.
🇺🇸 원문 (English)
openvpn-auth-oauth2 is a plugin/management interface client for OpenVPN server to handle an OIDC based single sign-on (SSO) auth flows. From version 1.26.3 to before version 1.27.3, when openvpn-auth-oauth2 is deployed in the experimental plugin mode (shared library loaded by OpenVPN via the plugin directive), clients that do not support WebAuth/SSO (e.g., the openvpn CLI on Linux) are incorrectly admitted to the VPN despite being denied by the authentication logic. The default management-interface mode is not affected because it does not use the OpenVPN plugin return-code mechanism. This issue has been patched in version 1.27.3.
📍 영향받는 시스템
openvpn-auth-oauth2 1.26.3 이상 1.27.3 미만 버전을 실험적 plugin 모드로 운영하는 OpenVPN 서버
⚔️ 공격 벡터
WebAuth/SSO를 지원하지 않는 클라이언트로 접속해 인증 거부 결과가 무시되도록 하여 VPN 네트워크에 무단 접근
🛡️ 대응 방법
openvpn-auth-oauth2를 1.27.3 이상으로 업그레이드하고, 가능하면 실험적 plugin 모드 대신 기본 management-interface 모드를 사용
🔧 검증 코드
출력된 버전이 1.27.3 미만(특히 1.26.3~1.27.2)이고 plugin 지시자로 로드되는 경우 취약하며, 명령 결과가 없으면 dpkg 대신 rpm이나 바이너리 직접 확인이 필요합니다.
dpkg -l openvpn-auth-oauth2 2>/dev/null | grep -E '^ii' | awk '{print $3}'