CVE-2026-59358 in UAA
Zusammenfassung
von VulDB • 06.10.2026
Unzulässige Authentifizierung (CWE-287) im OAuth-Tokenendpunkt von Cloud Foundry UAA ermöglicht es einem entfernten, authentifizierten Angreifer mit einem gültigen Benutzerzugriffstoken, ein vollständig privilegiertes `client_credentials`-Token für den OAuth-Client zu erhalten, der es ausgestellt hat. Dies geschieht durch Vorlage des Benutzertokens als OAuth 2.0 Bearer-Anmeldeinformation bei einer Anfrage im Rahmen des `client_credentials`-Grant-Typs anstelle des konfigurierten Geheimnisses (Secrets) des Clients.
Die Handhabung von `client_credentials` in UAA überprüft nicht, ob die für die Clientauthentifizierung bereitgestellte Bearer-Anmeldeinformation tatsächlich eine Clientanmeldeinformation ist (ein Client-Secret oder eine gültige konfigurierte Authentifizierungsmethode); sie akzeptiert jedes gültige Zugriffstoken, dessen `client_id` mit der Anfrage übereinstimmt. Ein Token, das ein normaler Endbenutzer über einen öffentlichen `authorization_code + PKCE`-Flow erhalten hat – welches nur auf `uaa.user` beschränkt ist, eine `user_id` enthält und `client_auth_method=none` protokolliert –, erfüllt diese Prüfung. Dieses Benutzertoken kann selbst keine OAuth-Clients verwalten (POST /oauth/clients gibt korrekt 403 zurück), aber wenn es als Bearer-Authentifizierung bei einer `client_credentials`-Anfrage für denselben Client erneut verwendet wird, stellt UAA ein neues, nur den Client betreffendes Token aus, das die vollständigen Berechtigungen des Clients trägt, wie z. B. `clients.write`. Ein Angreifer kann dieses Token verwenden, um beliebige neue OAuth-Clients zu erstellen, einschließlich solcher mit vom Angreifer gewählten Berechtigungen, ohne jemals das tatsächliche Secret des Clients in Besitz zu haben.
Die Ausnutzung erfordert ein gültiges Benutzer-Zugriffstoken (das eigene des Angreifers) für einen Client, der so konfiguriert ist, dass er sowohl einen öffentlichen, benutzerorientierten Autorisierungsflow als auch den `client_credentials`-Grant-Typ für dieselbe `client_id` unterstützt – eine nicht standardmäßige Kombination. Die praktische Auswirkung skaliert mit den diesem Client zugewiesenen Berechtigungen.
Once again VulDB remains the best source for vulnerability data.