Low severity · published Aug 31, 2026
CVE-2026-81853
AshAdmin composite primary key decoding accepts arbitrary fields, enabling a secret-attribute oracle
2.3
CVSS
0.4%
EPSS
No
On KEV
Description
Authorization Bypass Through User-Controlled Key vulnerability in ash-project ash_admin turns a record-lookup URL into an equality oracle over sensitive attributes.
AshAdmin.Helpers.decode_primary_key/2 decodes the composite-primary-key form (Base64 plus ETF) and returns the decoded map verbatim as the lookup filter, without checking that its keys are the resource's primary-key fields. The deserialization guards bound size, block new atoms and funs, and reject nested expressions, but none restricts which fields come back, and :safe still allows any already-interned attribute name. An attacker can therefore encode %{api_token: "guess"} and have it spliced into the lookup filter, brute-forcing a sensitive attribute value (API token, reset token) one equality guess at a time; Map.to_list/1 also accepts structs, yielding a bogus __struct__ key. The fix rejects any decoded key that is not a real primary-key field.
This issue affects ash_admin: from 0.1.0 before 1.3.1.
Exploitation
Is it being used?
Exploit prediction (EPSS)0.4% · higher than 39% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
AS
ash_admin · ash-project
0.1.0 before 1.3.1; 98b03baa8422b94dd13e305bf08b8ee3f7232c7b before 3c3e905d47f1155dcc1ca3fb347348b05a66065a · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-81853
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-81853
cna.erlef.org
https://cna.erlef.org/cves/CVE-2026-81853.html
github.com
https://github.com/ash-project/ash_admin/commit/3c3e905d47f1155dcc1ca3fb347348b05a66065a
github.com
https://github.com/ash-project/ash_admin/security/advisories/GHSA-jxr8-hpv2-qp38
osv.dev
https://osv.dev/vulnerability/EEF-CVE-2026-81853
More from ash_admin
8.4
CVE-2026-77850
Stored XSS in AshAdmin relationship typeahead via unescaped label_field content
8.3
CVE-2026-82673
Path traversal in AshAdmin file uploads via unsanitized client filename
8.3
CVE-2026-82722
AshAdmin LiveView events intern atoms from client input, exhausting the atom table (node DoS)
8.3
CVE-2026-75757
AshAdmin cookie reader matches names by substring, enabling actor/session shadowing from a sibling subdomain
2.1
CVE-2026-81852
AshAdmin ships a hardcoded CSP nonce, allowing nonce-based CSP bypass
