Description
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. This affects the package com.google.oauth-client:google-oauth-client before 1.31.0.
Remediation
References
https://github.com/googleapis/google-oauth-java-client/commit/13433cd7dd06267fc261f0b1d4764f8e3432c824
https://github.com/googleapis/google-oauth-java-client/issues/469
https://lists.apache.org/thread.html/r3db6ac73e0558d64f0b664f2fa4ef0a865e57c5de20f8321d3b48678%40%3Ccommits.druid.apache.org%3E
https://lists.apache.org/thread.html/reae8909b264d1103f321b9ce1623c10c1ddc77dba9790247f2c0c90f%40%3Ccommits.druid.apache.org%3E
https://snyk.io/vuln/SNYK-JAVA-COMGOOGLEOAUTHCLIENT-575276
https://tools.ietf.org/html/rfc7636%23section-1
https://tools.ietf.org/html/rfc8252%23section-8.1
Related Vulnerabilities
CVE-2023-49798 Vulnerability in npm package @openzeppelin/contracts
CVE-2022-22885 Vulnerability in maven package cn.hutool:hutool-http
CVE-2022-41940 Vulnerability in npm package engine.io
CVE-2022-35915 Vulnerability in maven package org.webjars.npm:openzeppelin__contracts
CVE-2020-7743 Vulnerability in maven package org.webjars:mathjs