SNYK-JAVA-COMGOOGLEOAUTHCLIENT-575276
## Overview [com.google.oauth-client:google-oauth-client](https://github.com/googleapis/google-oauth-java-client) is a powerful and easy-to-use Java library for the OAuth 1.0a and OAuth 2.0 authorization standards. Affected versions of this package are vulnerable to Improper Authorization. PKCE support is not implemented in accordance with the RFC for OAuth 2.0 for Native Apps. Without the use of PKCE, the authorization code returned by an authorization server is not enough to guarantee that the client that issued the initial authorization request is the one that will be authorized. An attacker is able to obtain the authorization code using a malicious app on the client-side and use it to gain authorization to the protected resource. ## Remediation Upgrade `com.google.oauth-client:google-oauth-client` to version 1.31.0 or higher. ## References - [GitHub Commit](https://github.com/googleapis/google-oauth-java-client/commit/13433cd7dd06267fc261f0b1d4764f8e3432c824) - [GitHub Issue](https://github.com/googleapis/google-oauth-java-client/issues/469) - [RFC-7636: Proof Key for Code Exchange by OAuth Public Clients](https://tools.ietf.org/html/rfc7636#section-1) - [RFC-8252: OAuth 2.0 for Native Apps](https://tools.ietf.org/html/rfc8252#section-8.1)
Risk Scores
Affected Products
| Vendor | Product | Versions |
|---|---|---|
| 0 |
Exploit Intelligence
- druid-612f0710.json (github-poc)
Timeline
- Jul 3, 2020 CVE Updated
- Jul 3, 2020 CVE Published
References
- https://security.snyk.io/vuln/SNYK-JAVA-COMGOOGLEOAUTHCLIENT-575276 advisory
- https://learn.snyk.io/lesson/broken-function-level-authorization/ technical
- https://github.com/googleapis/google-oauth-java-client technical
- https://github.com/googleapis/google-oauth-java-client/commit/13433cd7dd06267fc261f0b1d4764f8e3432c824 patch
- https://github.com/googleapis/google-oauth-java-client/issues/469 issue
- https://tools.ietf.org/html/rfc7636#section-1 technical
- https://tools.ietf.org/html/rfc8252#section-8.1 technical