{
  "schemaVersion": 1,
  "attribution": [
    {
      "source": "CISA Known Exploited Vulnerabilities",
      "url": "https://www.cisa.gov/known-exploited-vulnerabilities-catalog",
      "licence": "US government work"
    },
    {
      "source": "GitHub Advisory Database",
      "url": "https://github.com/advisories",
      "licence": "CC BY 4.0"
    },
    {
      "source": "Have I Been Pwned",
      "url": "https://haveibeenpwned.com/",
      "licence": "CC BY 4.0"
    },
    {
      "source": "CVE Program (CVE records)",
      "url": "https://www.cve.org/Legal/TermsOfUse",
      "licence": "CVE Terms of Use",
      "notice": "Copyright © 1999-2026, The MITRE Corporation. CVE is a trademark and the CVE logo is a registered trademark of The MITRE Corporation.",
      "terms": "CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE™). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy."
    },
    {
      "source": "FIRST EPSS",
      "url": "https://www.first.org/epss/",
      "licence": "free to use; FIRST requests attribution"
    }
  ],
  "record": {
    "id": "CVE-2026-82761",
    "sourceURL": "https://www.cve.org/CVERecord?id=CVE-2026-82761",
    "idYear": 2026,
    "status": "PUBLISHED",
    "publishedAt": "2026-09-17T13:09:01.534Z",
    "updatedAt": "2026-09-17T18:26:08.563Z",
    "importedAt": "2026-10-24T01:58:30.346Z",
    "snapshot": {
      "id": "cve_2026-10-24_midnight_baseline",
      "at": "2026-10-24T00:00:00.000Z",
      "source": "https://github.com/CVEProject/cvelistV5/releases/tag/cve_2026-10-24_0100Z"
    },
    "facts": {
      "title": "Magic link single-use tokens replayable via TOCTOU race in AshAuthentication",
      "summary": "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.\n\nSign-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.\n\nThis 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.",
      "affected": [
        {
          "vendor": "team-alembic",
          "product": "ash_authentication",
          "packageName": "ash_authentication",
          "collectionURL": "https://repo.hex.pm",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "3.9.0",
              "status": "affected",
              "versionType": "semver",
              "lessThan": "4.15.0"
            },
            {
              "version": "5.0.0-rc.0",
              "status": "affected",
              "versionType": "semver",
              "lessThan": "5.0.0-rc.14"
            }
          ]
        },
        {
          "vendor": "team-alembic",
          "product": "ash_authentication",
          "packageName": "team-alembic/ash_authentication",
          "collectionURL": "https://github.com",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "cf3d227ef25912cf1b0c5fa80f20001f5c46a102",
              "status": "affected",
              "versionType": "git",
              "lessThan": "*",
              "changes": [
                {
                  "at": "18dfdb36c14aa6a61df8572bce2d5ec36b1d9840",
                  "status": "unaffected"
                },
                {
                  "at": "9ef6864b8833d3b795427a7b8dc518a4997d41ab",
                  "status": "unaffected"
                }
              ]
            }
          ]
        }
      ]
    }
  }
}