CVE-2026-82681 Query-parameter injection in AshAdmin row-action links via unencoded string primary keys
Attackers can manipulate admin row-action links via unencoded primary keys, redirecting admins to unintended actions like deletion or editing other resources.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-82681?
CVE-2026-82681 is a low-severity vulnerability in ash-project ash_admin, published on 31 Aug 2026. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link.
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.
Weakness: CWE-116
Which versions are affected by CVE-2026-82681?
1 open source package ship an affected version, including ash_admin.
| Package | Affected | Fixed in |
|---|---|---|
ash_admin Hex | From 0.3.0-rc.0 | 1.3.1 |
How do I fix CVE-2026-82681?
Upgrade ash_admin to 1.3.1 or later.
Is CVE-2026-82681 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-82681 exists.
Sources
Also known as EEF-CVE-2026-82681, GHSA-j89q-xjrh-c26p.