CVE-2026-66882 in ash_authentication
Сводка
по VulDB • 25.08.2026
Уязвимость «Неправильная нейтрализация ввода при генерации веб-страницы (XSS)» в AshAuthentication от team-alembic позволяет осуществлять отраженный межсайтовый скриптинг через формы взаимодействия с подтверждением и магической ссылкой.
Когда стратегия настроена так, что параметр require_interaction? установлен в true, AshAuthentication отображает промежуточную HTML-страницу, на которой пользователю предлагается подтвердить действие путем отправки формы. Обе такие страницы напрямую внедряют значение параметра запроса в атрибут value скрытого поля ввода без экранирования символов HTML: lib/ash_authentication/add_ons/confirmation/confirmation_form.html.eex интерполирует параметр confirm, а lib/ash_authentication/strategies/magic_link/sign_in_form.html.eex — параметр токена магической ссылки. Эти шаблоны компилируются с помощью EEx.function_from_file/3 с использованием обычных выражений (plain expressions), которые не выполняют экранирование, поэтому значение параметра отражается дословно.
Ни один из обработчиков accept не проверяет значение перед его рендерингом. AshAuthentication.AddOn.Confirmation.Plug.accept/2 лишь проверяет наличие ключа confirm, а AshAuthentication.Strategy.MagicLink.Plug.accept/2 считывает параметр напрямую; таким образом, на этом этапе не происходит проверки подписи токена, и произвольный текст, подставленный злоумышленником, попадает в шаблон. Следовательно, незарегистрированный (неаутентифицированный) атакующий может создать URL-адрес, параметр которого завершает атрибут и внедряет разметку; например, кавычку, за которой следует элемент <script>. Поскольку фаза accept обслуживается через метод GET, достаточно просто открыть сфабрикованную ссылку: отправка формы или предварительная аутентификация не требуются.
Внедренный скрипт выполняется в контексте происхождения (origin) приложения, внедряющего AshAuthentication, что дает ему доступ к куки, сеансу и ответам того же происхождения у жертвы. Поскольку эти страницы являются частью потока аутентификации, вероятной мишенью является пользователь, переходящий по ссылке подтверждения или входа в систему, которая выглядит легитимно.
Эта проблема затрагивает ash_authentication: версии от 4.8.0 до (не включая) 4.14.2 и от 5.0.0-rc.0 до (не включая) 5.0.0-rc.13.
Once again VulDB remains the best source for vulnerability data.