chore(deps): update dependency @auth/core to v0.41.3 [security] - #5312
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
|
renovate
Bot
force-pushed
the
renovate/npm-auth-core-vulnerability
branch
from
August 27, 2026 02:14
ae5fcd9 to
a94ed0b
Compare
renovate
Bot
force-pushed
the
renovate/npm-auth-core-vulnerability
branch
from
August 27, 2026 05:56
a94ed0b to
52fdab8
Compare
renovate
Bot
force-pushed
the
renovate/npm-auth-core-vulnerability
branch
from
August 27, 2026 14:39
52fdab8 to
de1d77f
Compare
renovate
Bot
force-pushed
the
renovate/npm-auth-core-vulnerability
branch
from
September 2, 2026 21:48
de1d77f to
f19ff6e
Compare
renovate
Bot
force-pushed
the
renovate/npm-auth-core-vulnerability
branch
from
September 3, 2026 22:55
f19ff6e to
a5e5f36
Compare
renovate
Bot
force-pushed
the
renovate/npm-auth-core-vulnerability
branch
from
September 4, 2026 02:32
a5e5f36 to
7304c76
Compare
renovate
Bot
force-pushed
the
renovate/npm-auth-core-vulnerability
branch
from
September 4, 2026 02:42
7304c76 to
1487bcd
Compare
renovate
Bot
force-pushed
the
renovate/npm-auth-core-vulnerability
branch
from
September 4, 2026 02:51
1487bcd to
d263e90
Compare
renovate
Bot
force-pushed
the
renovate/npm-auth-core-vulnerability
branch
from
September 4, 2026 06:31
d263e90 to
aca25b6
Compare
renovate
Bot
force-pushed
the
renovate/npm-auth-core-vulnerability
branch
from
September 4, 2026 06:42
aca25b6 to
c2d8449
Compare
renovate
Bot
force-pushed
the
renovate/npm-auth-core-vulnerability
branch
from
September 7, 2026 23:49
c2d8449 to
fecd3c4
Compare
renovate
Bot
force-pushed
the
renovate/npm-auth-core-vulnerability
branch
from
September 9, 2026 16:30
fecd3c4 to
2b2f9bf
Compare
renovate
Bot
force-pushed
the
renovate/npm-auth-core-vulnerability
branch
from
September 10, 2026 05:17
2b2f9bf to
1857c38
Compare
renovate
Bot
force-pushed
the
renovate/npm-auth-core-vulnerability
branch
from
September 15, 2026 18:46
1857c38 to
ea55723
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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:
0.41.1→0.41.3Auth.js: OAuth state, nonce, and PKCE check cookies are not bound to the provider that created them
CVE-2026-73419 / GHSA-x445-f3h2-j279
More information
Details
Summary
Auth.js stores the OAuth/OIDC anti-CSRF checks (
state,nonce, and the PKCE verifier) in global cookies that are not bound to the provider that created them. On callback, a check value minted during a sign-in started with one provider can satisfy the callback for a different provider, because the stored cookie is not verified against the callback provider's identity (provider id, issuer, client id, or redirect URI). In a multi-provider app that allows account linking while logged in, this provider-confusion / mix-up condition can let an attacker link their account at a second provider to a victim's user.Am I affected?
You may be affected if all of the following hold:
next-auth<= 4.24.14or>= 5.0.0-beta.1, <= 5.0.0-beta.31, or@auth/core<= 0.41.2.stateor only onnonce).You are not affected if you use a single OAuth provider, do not allow logged-in account linking, or all providers enforce PKCE.
Impact
Patched version
The fix binds the OAuth check cookies to the provider/authorization flow that created them, so a callback cannot consume a check value minted for a different provider. Upgrade to the first releases containing this fix (pending; this advisory will be updated with exact patched versions before publication).
Workarounds
If you cannot upgrade immediately:
checks: ["pkce"], in addition tostate/nonce) on every provider that supports it; PKCE blocks the practical code-swap variant because the attacker cannot observe the relying party's verifier.events.linkAccountas sensitive: add audit logging, user notification, or out-of-band confirmation so that any unexpected link is visible (defense-in-depth, not a root-cause fix).Credit
Reported by @Nadav0077. Thank you for the responsible disclosure.
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Auth.js: Email normalizer validates the address before Unicode normalization, allowing a homoglyph @ bypass
CVE-2026-73420 / GHSA-7rqj-j65f-68wh
More information
Details
Summary
The default email-address normalizer used by the email/magic-link sign-in flow validates the address before applying Unicode normalization. An address can contain a Unicode character that is not an ASCII
@(U+0040) but canonicalizes to one under NFKC/NFKD normalization (the normalization commonly applied by mail libraries and services for internationalized email). Such an address passes the normalizer's single-@check, but a downstream mail library that normalizes the string then sees two@separators and may deliver the passwordless sign-in link to a different recipient than intended. This is an instance of validating before canonicalizing.Am I affected?
You may be affected if all of the following hold:
next-auth>= 4.0.0, < 4.24.14, or@auth/core>= 0.1.0, < 0.41.3.normalizeIdentifier).sendVerificationRequestimplementation uses a mail library or delivery service that applies Unicode normalization to recipient addresses (most internationalized-email/SMTPUTF8-capable senders do).You are not affected if you do not use the email provider, or if your normalizer/mailer rejects or canonicalizes non-ASCII addresses before they are validated.
Impact
Patched version
The fix applies Unicode (NFKC) normalization before the address is validated, so homoglyph separators are collapsed and rejected up front. Upgrade to the first release containing this fix (pending; this advisory will be updated with the exact patched version before publication). No application code changes are required after upgrading.
Workarounds
If you cannot upgrade immediately:
normalizeIdentifieron the email provider that callsidentifier.normalize("NFKC")(and lower-cases/trims) before any validation, and rejects addresses that do not contain exactly one@after normalization.Credit
Reported by @kakashi-kx. Thank you for the responsible disclosure.
Severity
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Auth.js: getToken() throws an uncaught exception on malformed Bearer authorization headers
CVE-2026-73418 / GHSA-xmf8-cvqr-rfgj
More information
Details
Summary
The exported
getToken()helper (next-auth/jwtand@auth/core/jwt) can throw an uncaught exception when it reads a malformedAuthorization: Bearer …header. When no session cookie is present,getToken()URL-decodes the bearer value before validating it, and malformed percent-encoding causes the decode step to throw rather than being treated as an invalid token. BecausegetToken()is commonly called in API routes, middleware, and other request handlers, a single unauthenticated request can trigger an unhandled exception in code paths that authenticate requests.Am I affected?
You are affected if all of the following hold:
next-auth<= 5.0.0-beta.25(or@auth/coreexposing the samegetToken()implementation).getToken()directly — for example in a Route Handler, middleware, or server-side request handler.getToken()call in your owntry/catch.You are not affected if you only use the framework's
auth()helper and never callgetToken()yourself, or if everygetToken()call site already has its own exception handling.Impact
getToken().CWE-20: Improper Input Validation.
Patched version
The fix makes
getToken()treat a malformed Bearer value as an invalid token and returnnull, matching how other undecodable tokens are already handled. Upgrade to the first release containing this fix (to be published; this advisory will be updated with the exact patched version before publication) and no code changes are required.Workarounds
If you cannot upgrade immediately, either:
Config/code-level: wrap your
getToken()calls so a thrown error is treated as "no token", e.g.Or strip/normalize the incoming
Authorizationheader at the edge (proxy, middleware) before it reachesgetToken(), rejecting values whose Bearer portion is not valid percent-encoding.Credit
Reported by @deprrous. Thank you for the responsible disclosure.
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
nextauthjs/next-auth (@auth/core)
v0.41.3Compare Source
Bugfixes
getToken()now returnsnullinstead of throwing when theAuthorizationheader contains a malformed Bearer valuestate,nonce, and PKCE check cookies are now bound to the provider that created them and are rejected when a different provider handles the callback@bypassOther
v0.41.2Compare Source
Bugfixes
Other
Configuration
📅 Schedule: (UTC)
🚦 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 was generated by Mend Renovate. View the repository job log.