An open redirect vulnerability exists in AuthService.handleCallback due to insufficient validation of the returnPathname value derived from the OAuth state parameter.
The state parameter is round-tripped through the identity provider (IdP) and can be influenced by an attacker. The handleCallback function decodes and returns returnPathname without enforcing restrictions on origin or scheme. As a result, attacker-controlled values (e.g., https://evil.com/, //evil.com, or similar variants) may be returned to the application.
If this value is used directly in a redirect (e.g., via an HTTP Location header, framework redirect helpers, or client-side navigation), it may cause the user to be redirected to an external, attacker-controlled site.
Security Impact
This issue may be used to facilitate phishing or user redirection attacks by leveraging the trust of the originating domain. For example, an attacker could craft a link that directs a user through a legitimate authentication flow and then redirects them to an external site.
The severity depends on how returnPathname is used by the application. Exploitation requires:
- The application to use
returnPathname as a redirect target, and
- The absence of downstream validation or allowlisting
This vulnerability does not enable authentication bypass, token disclosure, or direct account compromise on its own, but may increase the effectiveness of social engineering attacks when combined with user interaction.
Vulnerability Type
CWE-601: URL Redirection to Untrusted Site (Open Redirect)
Patches
Patched in https://github.com/workos/authkit-session/releases/tag/v0.5.1
References
An open redirect vulnerability exists in
AuthService.handleCallbackdue to insufficient validation of thereturnPathnamevalue derived from the OAuthstateparameter.The
stateparameter is round-tripped through the identity provider (IdP) and can be influenced by an attacker. The handleCallback function decodes and returns returnPathname without enforcing restrictions on origin or scheme. As a result, attacker-controlled values (e.g.,https://evil.com/,//evil.com, or similar variants) may be returned to the application.If this value is used directly in a redirect (e.g., via an HTTP
Locationheader, framework redirect helpers, or client-side navigation), it may cause the user to be redirected to an external, attacker-controlled site.Security Impact
This issue may be used to facilitate phishing or user redirection attacks by leveraging the trust of the originating domain. For example, an attacker could craft a link that directs a user through a legitimate authentication flow and then redirects them to an external site.
The severity depends on how
returnPathnameis used by the application. Exploitation requires:returnPathnameas a redirect target, andThis vulnerability does not enable authentication bypass, token disclosure, or direct account compromise on its own, but may increase the effectiveness of social engineering attacks when combined with user interaction.
Vulnerability Type
CWE-601: URL Redirection to Untrusted Site (Open Redirect)
Patches
Patched in https://github.com/workos/authkit-session/releases/tag/v0.5.1
References