Impact
next-auth v3 users before version 3.29.2 are impacted. (We recommend upgrading to v4 in most cases. See our migration guide)
next-auth v4 users before version 4.3.2 are impacted.
Patches
Upgrading to 3.29.2 or 4.3.2 will patch this vulnerability.
You can do:
or
yarn add next-auth@latest
or
pnpm add next-auth@latest
(This will update to the latest v4 version, but you can change latest to 3 if you want to stay on v3.)
Workarounds
If you are not able to upgrade for any reason, you can add the following configuration to your callbacks option:
// async redirect(url, baseUrl) { // v3
async redirect({ url, baseUrl }) { // v4
// Allows relative callback URLs
if (url.startsWith("/")) return new URL(url, baseUrl).toString()
// Allows callback URLs on the same origin
else if (new URL(url).origin === baseUrl) return url
return baseUrl
}
If you already have a redirect callback, make sure that you match the incoming url origin against the baseUrl.
References
Read more about the callbacks.redirect option in the documentation: https://next-auth.js.org/configuration/callbacks#redirect-callback
For more information
If you have any concerns, we request responsible disclosure, outlined here: https://next-auth.js.org/security#reporting-a-vulnerability
Timeline
The issue was reported 2022 April 6th, and a response was sent out to the reporter in less than 30 minutes, and a patch was produced within a few days.
Impact
next-authv3 users before version3.29.2are impacted. (We recommend upgrading to v4 in most cases. See our migration guide)next-authv4 users before version4.3.2are impacted.Patches
Upgrading to
3.29.2or4.3.2will patch this vulnerability.You can do:
or
or
(This will update to the latest v4 version, but you can change
latestto3if you want to stay on v3.)Workarounds
If you are not able to upgrade for any reason, you can add the following configuration to your
callbacksoption:If you already have a
redirectcallback, make sure that you match the incomingurlorigin against thebaseUrl.References
Read more about the
callbacks.redirectoption in the documentation: https://next-auth.js.org/configuration/callbacks#redirect-callbackFor more information
If you have any concerns, we request responsible disclosure, outlined here: https://next-auth.js.org/security#reporting-a-vulnerability
Timeline
The issue was reported 2022 April 6th, and a response was sent out to the reporter in less than 30 minutes, and a patch was produced within a few days.