This repository has been archived by the owner on Dec 19, 2022. It is now read-only.
fix(deps): update dependency next-auth to v4.10.3 [security] #70
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
4.9.0
->4.10.3
GitHub Vulnerability Alerts
CVE-2022-35924
Impact
next-auth
users who are using theEmailProvider
either in versions before4.10.3
or3.29.10
are affected.If an attacker could forge a request that sent a comma-separated list of emails (eg.:
attacker@attacker.com,victim@victim.com
) to the sign-in endpoint, NextAuth.js would send emails to both the attacker and the victim's e-mail addresses. The attacker could then login as a newly created user with the email beingattacker@attacker.com,victim@victim.com
. This means that basic authorization likeemail.endsWith("@​victim.com")
in thesignIn
callback would fail to communicate a threat to the developer and would let the attacker bypass authorization, even with an@attacker.com
address.Patches
We patched this vulnerability in
v4.10.3
andv3.29.10
by normalizing the email value that is sent to the sign-in endpoint before accessing it anywhere else. We also added anormalizeIdentifier
callback on theEmailProvider
configuration, where you can further tweak your requirements for what your system considers a valid e-mail address. (E.g.: strict RFC2821 compliance)To upgrade, run one of the following:
(This will update to the latest v4 version, but you can change
latest
to3
if you want to stay on v3. This is not recommended. v3 is unmaintained.)Workarounds
If for some reason you cannot upgrade, you can normalize the incoming request like the following, using Advanced Initialization:
References
signIn
callback: https://next-auth.js.org/configuration/callbacks#sign-in-callbacknodemailer
address: https://nodemailer.com/message/addressesFor 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 26th of July, a response was sent out in less than 1 hour and after identifying the issue a patch was published within 5 working days.
Acknowledgments
We would like to thank Socket for disclosing this vulnerability in a responsible manner and following up until it got published.
CVE-2022-31186
Impact
An information disclosure vulnerability in
next-auth
beforev4.10.2
andv3.29.9
allows an attacker with log access privilege to obtain excessive information such as an identity provider's secret in the log (which is thrown during OAuth error handling) and use it to leverage further attacks on the system, like impersonating the client to ask for extensive permissions.Patches
We patched this vulnerability in
v4.10.2
andv3.29.9
by moving the log forprovider
information to the debug level. In addition, we added a warning for having thedebug: true
option turned on in production and documented it here.To upgrade:
(This will update to the latest v4 version, but you can change
latest
to 3 if you want to stay on v3. This is not recommended. v3 is unmaintained.)Workarounds
If for some reason you cannot upgrade, you can user the
logger
configuration option by sanitizing the logs:References
Related documentation:
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 18th of July, a response was sent out in less than 20 minutes and after identifying the issue a patch was published within a week.
Release Notes
nextauthjs/next-auth
v4.10.3
Compare Source
Bugfixes
normalizeIdentifier
to EmailProvider (afb1fcd
)a21db89
)v4.10.2
Compare Source
Bugfixes
logger
(#4970)v4.10.1
Compare Source
Bugfixes
2725d07
)issuer
in Azure AD B2C (042955e
)bb664a2
)withAuth
(#4926) (46eedee
)handleMiddleware
return type can beNextMiddlewareResult
(#4818) (8853000
)Other
next
path innext-auth
(fb60554
)v4.10.0
Compare Source
Features
c22d613
)3c210d9
)Bugfixes
secret
as option in Middleware (#4846) (c59a4e0
)cdf467e
)nodemailer
config in the EmailProvider (#4097) (1b91282
)af3c2dd
)colorScheme
optional (#4868) (c1f7ce3
)Other
3666e43
)Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.