CVE-2026-66901 in Google::Auth
요약
\~에 의해 VulDB • 2026. 08. 05.
Google::Auth의 Perl용 버전 0.09 미만에서는 자격 증명 JSON에서 가져온 유효성 검사되지 않은 URL을 통해 서버 측 요청 위조(SSRF) 및 자격 증명 유출이 가능합니다.
라이브러리가 요청하는 URL은 자격 증명(JSON 파일)에서 읽히며, 요청 전에 호스트가 유니버스 도메인(universe domain)과 비교되어 검증되지 않았습니다. external_account 구성의 경우, retrieve_subject_token은 동일한 JSON에 있는 헤더와 함께 credential_source.url을 가져왔고, fetch_access_token은 subject token을 token_url로 게시한 후 받은 STS 액세스 토큰을 Authorization: Bearer 헤더를 사용하여 service_account_impersonation_url로 전송했습니다. authorized_user, impersonated_service_account 및 service_account 구성은 각각의 JSON에서 제공된 token_uri 또는 위조 URL에 대해 클라이언트 시크릿과 리프레시 토큰, 소스 액세스 토큰, 서명된 JWT 어설션을 게시했습니다.
자신에게 완전히 통제되지 않는 구성으로부터 자격 증명을 생성하는 모든 호출자는 애플리케이션의 네트워크 위치에서 이러한 요청을 수행하여 구성이 지칭하는 호스트(내부 서비스 및 링크 로컬 메타데이터 엔드포인트 포함)에 도달하고, 각 요청마다 운반되는 자격 증명을 해당 서비스에 제공합니다. service_account 어설션은 aud와 바인딩되므로 Google에서는 재사용될 수 없습니다.
버전 0.06에서 external_account 클래스는 동일한 자격 증명 JSON에서 읽힌 universe_domain을 키로 사용하여 _validate_url 호스트 검사를 추가했습니다. 버전 0.07에서는 GOOGLE_EXTERNAL_ACCOUNT_ALLOW_CUSTOM_UNIVERSES=1 뒤에 있는 JSON 제공 유니버스 도메인을 게이트 처리했으며, make_creds 경로에서 이전 BUILDARGS 단계가 이미 병합한 인수로부터 핀 플래그를 파생시켰습니다. 버전 0.08은 명시적인 생성자 인수를 통해 핀 결정을 전달하고 _validate_url을 Google::Auth::Credentials로 이동하여 UserRefreshCredentials 및 ImpersonatedServiceAccountCredentials에 대한 호출을 추가했으며, 버전 0.09에서는 이를 ServiceAccountCredentials에도 적용했습니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.