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://tools.ietf.org/html/rfc8252%23section-8.1
https://tools.ietf.org/html/rfc7636%23section-1
https://snyk.io/vuln/SNYK-JAVA-COMGOOGLEOAUTHCLIENT-575276
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
Related Vulnerabilities
CVE-2023-48292 Vulnerability in maven package org.xwiki.contrib:xwiki-application-admintools
CVE-2021-44228 Vulnerability in maven package org.apache.logging.log4j:log4j-core
CVE-2020-9038 Vulnerability in npm package joplin
CVE-2022-36083 Vulnerability in maven package org.webjars.npm:jose
CVE-2022-0084 Vulnerability in maven package org.jboss.xnio:xnio-api