Description
Improper Encoding or Escaping of Output vulnerability in ash-project ash_admin lets an attacker who controls a record's string primary key rewrite the target of AshAdmin's row-action links.
The Table, DataTable, and Show components built row-action URLs by raw string interpolation, splicing the primary key (and table, domain, and resource names) into the query string without URL-encoding. Ash resources routinely use user-settable string primary keys (slugs, emails). Because Plug.Conn.Query resolves duplicate parameters last-wins and primary_key is interpolated last, a stored key such as foo&action_type=destroy injects parameters that override the link, so an admin clicking edit is sent to a destroy form or an arbitrary resource; a # truncates the query into a fragment. The fix builds every link with URI.encode_query/1, encoding all interpolated values.
This issue affects ash_admin: from 0.3.0-rc.0 before 1.3.1.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| ash-project | ash_admin | 0.3.0-rc.0 – < 1.3.1 | 1.3.1 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Hex | ash_admin | >= 0.3.0-rc.0, < 1.3.1 | 1.3.1 | EEF-CVE-2026-82681 |
References
- https://github.com/ash-project/ash_admin/security/advisories/GHSA-j89q-xjrh-c26p vendor-advisory related
- https://cna.erlef.org/cves/CVE-2026-82681.html related
- https://osv.dev/vulnerability/EEF-CVE-2026-82681 related
- https://github.com/ash-project/ash_admin/commit/8e8ef91e8ba07498053887c6212f8b0f08178df6 patch