Description
In oauth2-server (aka node-oauth2-server) through 3.1.1, the value of the redirect_uri parameter received during the authorization and token request is checked against an incorrect URI pattern ("[a-zA-Z][a-zA-Z0-9+.-]+:") before making a redirection. This allows a malicious client to pass an XSS payload through the redirect_uri parameter while making an authorization request. NOTE: this vulnerability is similar to CVE-2020-7741.
Remediation
References
https://github.com/oauthjs/node-oauth2-server/issues/637
https://github.com/oauthjs/node-oauth2-server/blob/91d2cbe70a0eddc53d72def96864e2de0fd41703/lib/validator/is.js#L12
https://tools.ietf.org/html/rfc6749#section-3.1.2
https://tools.ietf.org/html/rfc3986#section-3
https://github.com/oauthjs/node-oauth2-server/blob/91d2cbe70a0eddc53d72def96864e2de0fd41703/lib/grant-types/authorization-code-grant-type.js#L143
Related Vulnerabilities
CVE-2021-23337 Vulnerability in maven package org.webjars.bower:lodash
CVE-2018-1000665 Vulnerability in maven package org.apache.geronimo.plugins:dojo
CVE-2018-20059 Vulnerability in maven package ro.pippo:pippo-jaxb
CVE-2018-1000820 Vulnerability in maven package org.neo4j.procedure:apoc
CVE-2023-40313 Vulnerability in maven package org.opennms:opennms-base-assembly