This repository has been archived by the owner on Apr 5, 2024. It is now read-only.
fix(deps): update dependency next-auth to v4.10.3 [security] #82
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.10.2
->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.
Release Notes
nextauthjs/next-auth
v4.10.3
Compare Source
Bugfixes
normalizeIdentifier
to EmailProvider (afb1fcd
)a21db89
)Configuration
📅 Schedule: Branch creation - "" in timezone Europe/Paris, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled due to failing status checks.
♻ 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.