Vulnerability advisory
EEF-CVE-2026-82727
AshPhoenix Form.Auto leaks submitted params in an unknown _union_type error message
Also known as CVE-2026-82727GHSA-5xf4-hgcq-xw7v
- CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Affected versions
Repository
| Affected commits | Fixed by commit |
|---|---|
| GIT github.com/ash-project/ash_phoenix ↗ | |
| a3436fcc321e3b34c242cceaf62c3c92bc1a452b to before 0c1775c3cf8988f9abd10a8f92315afc5f06f16d | 0c1775c3cf8988f9abd10a8f92315afc5f06f16d |
Also listed as affected (77)
| |
Description
Summary
Generation of Error Message Containing Sensitive Information vulnerability in ash-project ash_phoenix writes the entire raw submitted param map into an exception message, so secrets submitted alongside a union form field leak into logs, crash reports and the dev error page.
When AshPhoenix.Form.Auto builds a union sub-form and the submitted _union_type does not match a configured type, both raise sites built the message with inspect(params, pretty: true), embedding the full untrusted param map, and also inspected the internal union constraints[:types]. Because the message is constructed by the library rather than Phoenix's parameter logger, config :phoenix, :filter_parameters never redacts it. An attacker controls both the trigger and the contents: submitting %{"_union_type" => "nope", "password" => "..."} puts the password verbatim in the raised message. The fix reports only the offending _union_type and the valid type names, dropping the param and constraints dumps.
This issue affects ash_phoenix: from 1.2.17 before 2.3.25.
Configurations
The application renders an AshPhoenix.Form with a union field, and submitted params (which may carry secrets) reach logs, crash reports or the error page.