CVE-2026-66882

Reflected XSS in AshAuthentication confirmation and magic link interaction forms

LOW
2.1
CVSS Score
Published: August 25, 2026 at 08:03 AM UTC
Updated: September 1, 2026 at 09:31 PM UTC
1 product affected across 1 vendorAsh Authentication

Using ash_authentication by team-alembic?

Get instant alerts when new vulnerabilities affect ash_authentication - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
LOW2.1
Exploit prediction
EPSS 0.8%
SSVC
PoC

Description

Improper Neutralization of Input During Web Page Generation (XSS) vulnerability in team-alembic AshAuthentication allows reflected cross-site scripting via the confirmation and magic link interaction forms. When a strategy is configured with require_interaction? set to true, AshAuthentication serves an intermediate HTML page asking the user to confirm the action by submitting a form. Both such pages embed a request parameter directly into a hidden input's value attribute without HTML escaping: lib/ash_authentication/add_ons/confirmation/confirmation_form.html.eex interpolates the confirm parameter, and lib/ash_authentication/strategies/magic_link/sign_in_form.html.eex interpolates the magic link token parameter. These templates are compiled with EEx.function_from_file/3 using plain <%= %> expressions, which perform no escaping, so the parameter is reflected verbatim. Neither accept handler validates the value before rendering it. AshAuthentication.AddOn.Confirmation.Plug.accept/2 only checks that a confirm key is present, and AshAuthentication.Strategy.MagicLink.Plug.accept/2 reads the parameter directly, so no token signature is verified at this stage and arbitrary attacker-supplied text reaches the template. An unauthenticated attacker can therefore craft a URL whose parameter terminates the attribute and injects markup, for example a quote followed by a <script> element. Because the accept phase is served over GET, loading the crafted link is sufficient; no form submission or prior authentication is required. The injected script executes in the origin of the application embedding AshAuthentication, giving it access to that origin's cookies, session, and same-origin responses. Since these pages are part of the authentication flow, a victim following what appears to be a legitimate confirmation or sign-in link is a plausible target. This issue affects ash_authentication: from 4.8.0 before 4.14.2 and from 5.0.0-rc.0 before 5.0.0-rc.13.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

4.8.0 ≤ v < 4.14.25.0.0-rc.0 ≤ v < 5.0.0-rc.134.8.05.0.0-rc.0fe0b4558dbe852fee5d81a460a8355577618a8c8
Affected range stops below 4.14.2, so it looks safe — our inference, not a vendor statement
Affected range stops below 5.0.0-rc.13, so it looks safe — our inference, not a vendor statement

SSVC — Action Prioritization

SSVCPoCNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

2.1LOWEEF
Vector?

Quick Info

StatusDEFERRED
CWE
CWE-79

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card