Vulnerability · Published Aug 31, 2026 · Assigned by EEF
CVE-2026-82681Query-parameter injection in AshAdmin row-action links via unencoded string primary keys
Low 2.0
In plain English
A low-severity security flaw in ash_admin from ash-project. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.5% (higher than 41% of all known vulnerabilities).
Official 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 (as reported)
| Vendor | Product | Versions |
|---|---|---|
| ash-project | ash_admin | 0.3.0-rc.0 – before 1.3.1 |
| ash-project | ash_admin | b214535f0cc012e36ca621e643bf8f7b133ba354 – before 8e8ef91e8ba07498053887c6212f8b0f08178df6 |
Weakness: CWE-116 · Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:A/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
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