CVE-2026-82761

Magic link single-use tokens replayable via TOCTOU race in AshAuthentication

State
Published
Severity
9.1 Critical
Published
Sep 17, 2026
Updated
Sep 17, 2026
Reserved
Aug 31, 2026

Read the record on cve.org

Description

Time-of-check Time-of-use (TOCTOU) Race Condition vulnerability in team-alembic AshAuthentication allows an attacker holding a leaked magic link to replay its single-use token and authenticate as the target subject. A magic link configured with single_use_token?, which is the default, is meant to be redeemable exactly once, but nothing serialises the token's validity check against its consumption, so concurrent redemptions of one token all succeed and each yields a full user token.

Sign-in verifies the JWT with Jwt.verify/4 and revokes it only afterwards: AshAuthentication.Strategy.MagicLink.SignInPreparation revokes in a Query.after_action callback, and AshAuthentication.Strategy.MagicLink.SignInChange in an after_transaction hook that runs once the sign-in has already committed. AshAuthentication.TokenResource.Actions.revoke/3 writes the revocation as an upsert, so a concurrent duplicate revocation silently succeeds instead of conflicting and no request ever loses the race.

This issue affects ash_authentication: from 3.9.0 before 4.15.0 and from 5.0.0-rc.0 before 5.0.0-rc.14.

Scores

CVSSScoreVectorSource
4.09.1 CriticalCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:NEEF

Weaknesses

  • CWE-367 Time-of-check Time-of-use (TOCTOU) Race Condition

Affected Products

ProductVersions
ash_authenticationteam-alembic
  • 3.9.0 to before 4.15.0Affected
  • 5.0.0-rc.0 to before 5.0.0-rc.14Affected
ash_authenticationteam-alembic
  • cf3d227ef25912cf1b0c5fa80f20001f5c46a102 and laterAffectedfrom 18dfdb36c14aa6a61df8572bce2d5ec36b1d9840Not affectedfrom 9ef6864b8833d3b795427a7b8dc518a4997d41abNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.