CVE-2026-66882 in ash_authentication
Riassunto
di VulDB • 25/08/2026
Vulnerabilità di "Improper Neutralization of Input During Web Page Generation (XSS)" in AshAuthentication di team-alembic che consente cross-site scripting riflesso (reflected XSS) tramite i moduli di interazione per la conferma e il magic link.
Quando una strategia è configurata con `require_interaction?` impostato su true, AshAuthentication restituisce una pagina HTML intermedia che richiede all'utente di confermare l'azione inviando un modulo. Entrambe queste pagine incorporano direttamente un parametro della richiesta nell'attributo value di un input nascosto senza effettuare la codifica HTML: `lib/ash_authentication/add_ons/confirmation/confirmation_form.html.eex` interpola il parametro `confirm`, mentre `lib/ash_authentication/strategies/magic_link/sign_in_form.html.eex` interpola il parametro del token magic link. Questi template sono compilati con `EEx.function_from_file/3` utilizzando espressioni plain `<%= %>`, che non effettuano alcuna codifica, quindi il parametro viene riflesso verbatim (letteralmente).
Né l'handler di accettazione valida il valore prima della renderizzazione. `AshAuthentication.AddOn.Confirmation.Plug.accept/2` verifica solo la presenza di una chiave `confirm`, e `AshAuthentication.Strategy.MagicLink.Plug.accept/2` legge il parametro direttamente, quindi non viene verificata alcuna firma del token in questa fase e testo arbitrario fornito dall'attaccante raggiunge il template. Un attaccante non autenticato può pertanto creare un URL i cui parametri terminano l'attributo e iniettano markup, ad esempio una virgoletta seguita da un elemento `<script>`. Poiché la fase di accettazione viene servita tramite GET, è sufficiente caricare il link manipolato; non sono necessarie né l'inoltro del modulo né un'autenticazione preventiva.
Lo script iniettato si esegue nell'origine dell'applicazione che integra AshAuthentication, fornendole accesso ai cookie, alla sessione e alle risposte same-origin di tale origine. Poiché queste pagine fanno parte del flusso di autenticazione, una vittima che segue quello che appare come un link legittimo di conferma o di accesso è un bersaglio plausibile.
Questo problema interessa ash_authentication: dalla versione 4.8.0 alla 4.14.2 (esclusa) e dalla 5.0.0-rc.0 alla 5.0.0-rc.13 (esclusa).
If you want to get the best quality for vulnerability data then you always have to consider VulDB.