Read the docs
TI-2026-58664 Aliases CVE-2026-85500

`require_confirmed_with` is not enforced on the action and fails open on an unreadable attribute in AshAuthentication

Priority MEDIUM 49CWE-305Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Attack requirements
Present
Impact type
—
Confidentiality · integrity · availability
High · High · None
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA.

Summary

Authentication Bypass by Primary Weakness vulnerability in team-alembic AshAuthentication allows an unconfirmed user to obtain a session, defeating a mandatory email confirmation requirement. AshAuthentication.Strategy.Password.Actions.check_user/2 decides whether the attribute named by require_confirmed_with is set using a bare is_nil(Map.get(user, value)). When that attribute is not selected on the loaded record Map.get/2 returns %Ash.NotLoaded{}, and when a field policy denies it for the current actor it returns %Ash.ForbiddenField{}. Neither is nil, so the rejection branch is skipped and sign-i require_confirmed_with is enforced in two places, and neither holds in every configuration. sign_in_with_token and register are checked only inside AshAuthentication.Strategy.Password.Actions, not on the action itself, so any caller that invokes the action directly skips the check. An API layer such as AshGraphql or AshJsonApi invokes the action directly, so this applies to the default configuration. Where a check does run it compares the confirmation attribute against nil. That attribute holds %Ash.NotLoaded{} or %Ash.ForbiddenField{} when it sets select_by_default?: false, when an API layer narrows the read's select, or when a field policy hides it from the sign-in actor. Neither struct is nil, so those configurations read every user as confirmed. This issue affects ash_authentication: from 4.3.8 before 4.15.0 and from 5.0.0-rc.0 before 5.0.0-rc.14.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00768 55th percentileScored 2026-11-07
Fix Fixed ash_authentication (team-alembic): 4.15.0, 5.0.0-rc.14

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
Yes
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
team-alembicash_authentication4.3.8 to before 4.15.0; 5.0.0-rc.0 to before 5.0.0-rc.144.15.0, 5.0.0-rc.14Patch availableCNA
  • ash_authentication Vendorteam-alembic Affected 4.3.8 to before 4.15.0; 5.0.0-rc.0 to before 5.0.0-rc.14 Fixed in 4.15.0, 5.0.0-rc.14 Patch available CNA

CPE names CNA · 1

CPEVersionsRoleVendor
cpe:2.3:a:team-alembic:ash_authentication:*:*:*:*:*:*:*:*———
  • cpe:2.3:a:team-alembic:ash_authentication:*:*:*:*:*:*:*:* Versions — — ·—

Remediation

  • Fix · CNA ash_authentication (team-alembic) Fixed in 4.15.0, 5.0.0-rc.14

Fixed in the same release

Records fixed by the same vendor advisory or release, as the CNA lists them.

  • Release ·

    team-alembic ash_authentication 4.15.0, 5.0.0-rc.14

    14 records Highest priority Priority MEDIUM 5 MEDIUM, 9 LOW

    Other records, highest priority first

    • TI-2026-59214 Revoked session accepted because the session jti is never checked in AshAuthentication and AshAuthentication PhoenixPriority MEDIUM 49
    • TI-2026-53751 Remember-me sign-in guard reads a session key that is never written in ash_authentication, allowing session replacementPriority MEDIUM 49
    • TI-2026-57079 Magic link single-use tokens replayable via TOCTOU race in AshAuthenticationPriority MEDIUM 48

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-85500

References

  • TI-2026-36668 OAuth2/OIDC account takeover in AshAuthentication via email-based user matching CVSS 4.0CRITICAL 9.2
  • TI-2026-46782 Purpose-limited JWT accepted as full bearer authentication in AshAuthentication CVSS 4.0HIGH 7.6
  • TI-2026-59214 Revoked session accepted because the session jti is never checked in AshAuthentication and AshAuthentication Phoenix CVSS 4.0CRITICAL 9.1
  • TI-2026-53751 Remember-me sign-in guard reads a session key that is never written in ash_authentication, allowing session replacement CVSS 4.0CRITICAL 9.1
  • TI-2026-57079 Magic link single-use tokens replayable via TOCTOU race in AshAuthentication CVSS 4.0CRITICAL 9.1
  • TI-2026-47468 Reflected XSS in AshAuthentication confirmation and magic link interaction forms CVSS 4.0LOW 2.1
See all 23 →

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences