🔍 CVE-2026-59358

0.0
CVSS Score
UNKNOWN
2026-10-06
2026-10-06 16:00
✅ 완료

🇰🇷 한글 설명

Cloud Foundry UAA의 OAuth 토큰 엔드포인트에서 부적절한 인증(CWE-287) 취약점이 발견되었습니다. 공격자가 유효한 사용자 액세스 토큰을 사용하여 클라이언트 비밀번호 대신 Bearer 인증 방식으로 제출하면, 해당 클라이언트의 모든 권한을 가진 client_credentials 토큰을 탈취할 수 있습니다. 이를 통해 공격자는 클라이언트의 실제 비밀번호 없이도 클라이언트를 관리하거나 새로운 권한을 가진 클라이언트를 생성할 수 있습니다.

💡 쉬운 설명

사용자용 로그인 토큰을 마치 시스템용 비밀번호인 것처럼 속여서 제출하면, 시스템의 모든 권한을 가진 마스터 키를 발급받을 수 있는 보안 결함입니다. 이로 인해 공격자가 관리자 권한을 획득하여 시스템 설정을 마음대로 변경할 수 있습니다.

🇺🇸 원문 (English)

Improper authentication (CWE-287) in the OAuth token endpoint in Cloud Foundry UAA allows a remote, authenticated attacker holding a valid user access token to obtain a fully-privileged client_credentials token for the OAuth client that issued it, by presenting the user token as an OAuth 2.0 Bearer credential on a client_credentials grant request in place of the client’s configured secret. UAA’s client_credentials handling does not verify that the Bearer credential supplied for client authentication is actually a client credential (a client secret or a valid configured client authentication method); it accepts any valid access token whose client_id matches the request. A token obtained by a normal end user through a public authorization_code + PKCE flow — scoped only to uaa.user, carrying a user_id, and recording client_auth_method=none — satisfies this check. That user token cannot itself administer OAuth clients (POST /oauth/clients correctly returns 403), but when replayed as Bearer authentication on a client_credentials request for the same client, UAA issues a new client-only token carrying the client’s full authorities, such as clients.write. An attacker can use that token to create arbitrary new OAuth clients, including clients with attacker-chosen authorities, without ever possessing the client’s actual secret. Exploitation requires a valid user access token (the attacker’s own) for a client that is configured to support both a public, user-facing authorization flow and the client_credentials grant type on the same client_id — a non-default combination. Practical impact scales with the authorities assigned to that client.

📍 영향받는 시스템

Cloud Foundry UAA (public authorization flow와 client_credentials grant type이 동일한 client_id에 설정된 경우)

⚔️ 공격 벡터

사용자 액세스 토큰을 client_credentials 요청의 Bearer 인증 값으로 재사용하여 권한 상승 시도

🛡️ 대응 방법

UAA를 최신 보안 패치가 적용된 버전으로 업데이트하고, 가능한 경우 동일한 client_id에 public flow와 client_credentials grant를 혼용하지 않도록 구성 변경

🔧 검증 코드

사용자 토큰을 client_secret 자리에 넣었을 때 새로운 client_credentials 토큰이 발급되면 취약한 상태임

Shell / Script
curl -s -X POST https://<UAA_URL>/oauth/token -d "grant_type=client_credentials&client_id=<TARGET_ID>&client_secret=<USER_TOKEN>" | grep -E 'access_token'

💻 영향받는 소프트웨어

IBM Security Verify Access