Vulnerability advisory

EEF-CVE-2026-82727

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

Published Updated OSV record ↗

Also known as 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
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

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.

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