Google::Auth versions from 0.11 through 0.12 for Perl accept an authorization code from any local process because the gcloud-auth login callback does not check the OAuth state.
The gcloud-auth login and application-default login commands send a state parameter with the authorization request, then take the code from the first request to reach their loopback listener without comparing the returned state.
A local attacker can submit an authorization code for their own Google account. The CLI exchanges it and stores the refresh token as the user's credentials, so the user's tools then act as the attacker's account.
Metrics
Affected Vendors & Products
References
History
Sat, 07 Nov 2026 07:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
Fri, 06 Nov 2026 15:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
cvssV3_1
|
Tue, 03 Nov 2026 17:00:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Perl
Perl google::auth |
|
| Vendors & Products |
Perl
Perl google::auth |
Sun, 01 Nov 2026 17:00:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Description | Google::Auth versions from 0.11 through 0.12 for Perl accept an authorization code from any local process because the gcloud-auth login callback does not check the OAuth state. The gcloud-auth login and application-default login commands send a state parameter with the authorization request, then take the code from the first request to reach their loopback listener without comparing the returned state. A local attacker can submit an authorization code for their own Google account. The CLI exchanges it and stores the refresh token as the user's credentials, so the user's tools then act as the attacker's account. | |
| Title | Google::Auth versions from 0.11 through 0.12 for Perl accept an authorization code from any local process because the gcloud-auth login callback does not check the OAuth state | |
| Weaknesses | CWE-346 | |
| References |
|
Status: PUBLISHED
Assigner: CPANSec
Published: 2026-11-01T16:43:34.512Z
Updated: 2026-11-06T14:59:15.283Z
Reserved: 2026-08-15T12:28:17.422Z
Link: CVE-2026-74760
Updated: 2026-11-06T14:59:10.649Z
Status : Awaiting Analysis
Published: 2026-11-01T17:16:34.420
Modified: 2026-11-06T15:17:22.777
Link: CVE-2026-74760
No data.