OpenBao przed wersją 2.5.2 jest podatne na atak typu XSS (Cross-Site Scripting) w mechanizmie uwierzytelniania OIDC/JWT, gdy skonfigurowana jest rola z trybem `callback_mode=direct`. Podatność pozwala atakującemu na przejęcie tokenu sesji Web UI ofiary.
▸ Pokaż oryginał (EN)
OpenBao is an open source identity-based secrets management system. Prior to version 2.5.2, OpenBao installations that have an OIDC/JWT authentication method enabled and a role with `callback_mode=direct` configured are vulnerable to XSS via the `error_description` parameter on the page for a failed authentication. This allows an attacker access to the token used in the Web UI by a victim. The `error_description` parameter has been replaced with a static error message in v2.5.2. The vulnerability can be mitigated by removing any roles with `callback_mode` set to `direct`.
Podatność wynika z braku odpowiedniej walidacji i kodowania parametru `error_description` wyświetlanego na stronie błędu nieudanego uwierzytelnienia (CWE-20, CWE-116). Atakujący może spreparować złośliwy URL zawierający skrypt w tym parametrze i nakłonić ofiarę do jego odwiedzenia (wymagana interakcja użytkownika). W wyniku wykonania wstrzykniętego skryptu w przeglądarce ofiary możliwe jest odczytanie tokenu używanego w Web UI OpenBao. W wersji 2.5.2 parametr `error_description` został zastąpiony statycznym komunikatem błędu, eliminując wektor ataku.
Atakujący może uzyskać token sesji Web UI zalogowanego użytkownika, co prowadzi do nieautoryzowanego dostępu do systemu zarządzania sekretami OpenBao z uprawnieniami ofiary, a potencjalnie również do naruszenia integralności i dostępności systemów zależnych.
Należy zaktualizować OpenBao do wersji 2.5.2 lub nowszej. Jako obejście tymczasowe (bez aktualizacji) można usunąć wszystkie role posiadające ustawienie `callback_mode=direct` w konfiguracji metody OIDC/JWT.
OpenBao we wszystkich wersjach przed 2.5.2, gdy włączona jest metoda uwierzytelniania OIDC/JWT oraz skonfigurowana co najmniej jedna rola z parametrem `callback_mode=direct`.
Podatność została naprawiona przez zastąpienie dynamicznego parametru `error_description` statycznym komunikatem błędu (commit 6e2b2dd84f0e47cebc90d6e79609dd5274732662). Szczegóły dostępne w security advisory GHSA-cpj3-3r2f-xj59.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XOpenbao
APPOpenbao< 2.5.2
Powiązane podatności
OpenBao: zdalne phishing przez JWT/OIDC bez potwierdzenia logowania
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...