Vulnerability advisory

CVE-2026-82727

AshPhoenix Form.Auto leaks submitted params in an unknown _union_type error message

Published Updated OSV record ↗

Also known as EEF-CVE-2026-82727GHSA-5xf4-hgcq-xw7v

Severity
  • CVSS 4.0CVSS: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 commitsFixed by commit
GIT github.com/ash-project/ash_phoenix ↗
a3436fcc321e3b34c242cceaf62c3c92bc1a452b to before 0c1775c3cf8988f9abd10a8f92315afc5f06f16d0c1775c3cf8988f9abd10a8f92315afc5f06f16d
c7e220099edd5e10f7ad8fef6387169b2551f96f to before 1e38e7dc8838426cc94656238d9208759c661c031e38e7dc8838426cc94656238d9208759c661c03
Also listed as affected (77)
  • v2.3.24
  • v2.3.23
  • v2.3.22
  • v2.3.21
  • v2.3.20
  • v2.3.19
  • v2.3.18
  • v2.3.17
  • v2.3.10
  • v2.3.16
  • v2.3.15
  • v2.3.14
  • v2.3.13
  • v2.3.12
  • v2.3.11
  • v2.3.9
  • v2.3.8
  • v2.3.7
  • v2.3.6
  • v2.3.5
  • v2.3.4
  • v2.3.3
  • v2.3.2
  • v2.3.1
  • v2.3.0
  • v2.2.0
  • v2.1.26
  • v2.1.25
  • v2.1.24
  • v2.1.23
  • v2.1.22
  • v2.1.21
  • v2.1.20
  • v2.1.19
  • v2.1.18
  • v2.1.17
  • v2.1.16
  • v2.1.15
  • v2.1.14
  • v2.1.12
  • v2.1.11
  • v2.1.10
  • v2.1.9
  • v2.1.8
  • v2.1.7
  • v2.1.6
  • v2.1.5
  • v2.1.4
  • v2.1.3
  • v2.1.1
  • v2.0.3
  • v2.0.2
  • v2.0.1
  • v2.0.0-rc.8
  • v2.0.0-rc.7
  • v2.0.0-rc.6
  • v2.0.0-rc.5
  • v2.0.0-rc.4
  • v2.0.0-rc.3
  • v2.0.0-rc.2
  • v2.0.0-rc.1
  • v2.0.0-rc.0
  • v1.3.4
  • v1.3.3
  • v1.3.2
  • v1.3.1
  • v1.3.0
  • v1.2.26
  • v1.2.25
  • v1.2.24
  • v1.2.23
  • v1.2.22
  • v1.2.21
  • v1.2.20
  • v1.2.19
  • v1.2.18
  • v1.2.17

Description

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.

References

  • Codex
  • Claude Code
  • VS Code
  • GitHub Copilot
  • Cursor
  • Cline
  • Windsurf
  • Google Anti-gravity
  • OpenCode
  • Pi
  • Gemini CLI
  • Hermes Agent
  • Zed
  • Junie
  • Qwen Code
  • Kiro
  • Kilo Code
  • Factory Droid

Set up GitHits for your agents

Run this command:

<> bash
npx githits@latest init

What happens next:

  1. Opens your browser to authorize GitHits
  2. Asks whether to set up GitHits at the user or project level
  3. Detects your supported AI coding tools
  4. Lets you choose which tools to configure
  5. Configures the selected tools