OpenBao przed wersją 2.5.2 nie wymaga potwierdzenia od użytkownika podczas logowania przez JWT/OIDC z trybem callback_mode=direct, co umożliwia atakującemu przejęcie sesji ofiary. Podatność pozwala na przeprowadzenie tzw. remote phishing, w wyniku którego ofiara nieświadomie uwierzytelnia się w sesji kontrolowanej przez atakującego.
▸ Pokaż oryginał (EN)
OpenBao is an open source identity-based secrets management system. Prior to version 2.5.2, OpenBao does not prompt for user confirmation when logging in via JWT/OIDC and a role with `callback_mode` set to `direct`. This allows an attacker to start an authentication request and perform "remote phishing" by having the victim visit the URL and automatically log-in to the session of the attacker. Despite being based on the authorization code flow, the `direct` mode calls back directly to the API and allows an attacker to poll for an OpenBao token until it is issued. Version 2.5.2 includes an additional confirmation screen for `direct` type logins that requires manual user interaction in order to finish the authentication. This issue can be worked around either by removing any roles with `callback_mode=direct` or enforcing confirmation for every session on the token issuer side for the Client ID used by OpenBao.
Atakujący inicjuje żądanie uwierzytelnienia JWT/OIDC dla roli z ustawionym parametrem callback_mode=direct. Następnie przekonuje ofiarę do odwiedzenia odpowiednio spreparowanego URL, który automatycznie kończy proces logowania bez żadnego kroku wymagającego interakcji użytkownika. W trybie direct wywołanie zwrotne trafia bezpośrednio do API OpenBao, co pozwala atakującemu cyklicznie odpytywać API (polling) o wydanie tokenu OpenBao aż do jego uzyskania. Atakujący przejmuje w ten sposób token uwierzytelniający ofiary bez jej wiedzy.
Atakujący może uzyskać token OpenBao uwierzytelniony jako ofiara, co daje mu dostęp do zarządzanych sekretów i zasobów z uprawnieniami skompromitowanego konta, potencjalnie prowadząc do ujawnienia poufnych danych i naruszenia integralności systemu.
Należy zaktualizować OpenBao do wersji 2.5.2, która wprowadza dodatkowy ekran potwierdzenia dla logowań w trybie direct wymagający ręcznej interakcji użytkownika. Jako obejście można usunąć wszystkie role z callback_mode=direct lub wymusić potwierdzenie każdej sesji po stronie wystawcy tokenów (token issuer) dla Client ID używanego przez OpenBao.
OpenBao (openbao/openbao) we wszystkich wersjach przed 2.5.2, gdy skonfigurowane są role z parametrem callback_mode=direct dla JWT/OIDC
Podatność dotyczy wyłącznie konfiguracji z JWT/OIDC i rolami używającymi callback_mode=direct. Mechanizm ataku jest zbliżony do Device Authorization Grant opisanego w RFC 8628 sekcja 5.4.
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:LOpenbao
APPOpenbao< 2.5.2
Powiązane podatności
XSS w OpenBao — kradzież tokenu Web UI przez parametr error_description
OpenBao: ominięcie restrykcji przez subsystem audytu — RCE i dostęp sieciowy
OpenBao is an open source identity-based secrets management system. Prior to version 2.4.4, a privileged opera...
OpenBao is an open source identity-based secrets management system. In OpenBao versions prior to 2.4.1, JSON o...
OpenBao exists to provide a software solution to manage, store, and distribute sensitive data including secret...