Wtyczka openvpn-auth-oauth2 w trybie eksperymentalnym (plugin mode) nieprawidłowo wpuszcza do sieci VPN klientów, którzy nie obsługują WebAuth/SSO, mimo że logika uwierzytelniania powinna ich odrzucić. Podatność otrzymała ocenę CVSS 10.0, co oznacza pełne ryzyko nieautoryzowanego dostępu do chronionej sieci.
▸ Pokaż oryginał (EN)
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.
Problem dotyczy trybu pracy jako współdzielona biblioteka ładowana przez OpenVPN za pomocą dyrektywy plugin. W tym trybie wtyczka polega na mechanizmie kodów powrotu OpenVPN (plugin return-code mechanism). Klienci nieobsługujący WebAuth/SSO (np. openvpn CLI na Linux) nie przechodzą poprawnie przez przepływ uwierzytelniania OIDC, a błąd w obsłudze kodu powrotu powoduje, że są nieprawidłowo akceptowani zamiast odrzucani. Domyślny tryb pracy przez interfejs zarządzania (management-interface mode) nie jest podatny, ponieważ nie korzysta z tego mechanizmu.
Nieautoryzowany klient może uzyskać pełny dostęp do sieci VPN bez przejścia wymaganego uwierzytelniania SSO/OIDC, co może prowadzić do naruszenia poufności i integralności zasobów sieciowych chronionych przez VPN.
Należy zaktualizować openvpn-auth-oauth2 do wersji 1.27.3 lub nowszej, w której problem został rozwiązany. Jako tymczasowe obejście można zrezygnować z trybu plugin i korzystać z domyślnego trybu management-interface, który nie jest podatny na tę lukę.
openvpn-auth-oauth2 w wersjach od 1.26.3 do 1.27.2 (włącznie), wyłącznie gdy wtyczka jest uruchomiona w eksperymentalnym trybie plugin (shared library) — tryb management-interface nie jest podatny
Podatność dotyczy wyłącznie trybu eksperymentalnego (plugin mode) — organizacje korzystające z domyślnego trybu management-interface nie są narażone. Poprawka dostępna w commit 36f69a6c w repozytorium GitHub projektu.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N