EEF-CVE-2026-81853

Source
https://cna.erlef.org/osv/EEF-CVE-2026-81853.html
Import Source
https://cna.erlef.org/osv/EEF-CVE-2026-81853.json
JSON Data
https://api.osv.dev/v1/vulns/EEF-CVE-2026-81853
Aliases
Published
2026-08-31T02:31:29Z
Modified
2026-09-08T03:30:04Z
Severity
  • 2.3 (Low) CVSS_V4 - CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N CVSS Calculator
Summary
AshAdmin composite primary key decoding accepts arbitrary fields, enabling a secret-attribute oracle
Details

Summary

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.

Configurations

The resource has a composite primary key, and the deployment relies on AshAdmin's authorization (a custom actor plug and policies) so that reading otherwise-restricted attribute values crosses a boundary.

Database specific
{
    "capec_ids": [
        "CAPEC-77"
    ],
    "cpe_ids": [
        "cpe:2.3:a:ash-project:ash_admin:*:*:*:*:*:*:*:*"
    ],
    "cwe_ids": [
        "CWE-639"
    ]
}
References
Credits
    • Peter Ullrich - FINDER
    • Peter Ullrich - REPORTER
    • Zach Daniel / Ash Project - REMEDIATION_DEVELOPER
    • Jonatan Männchen / EEF - COORDINATOR

Affected packages

Hex / ash_admin

Package

Name
ash_admin
Purl
pkg:hex/ash_admin

Affected ranges

Type
SEMVER
Events
Introduced
0.1.0
Fixed
1.3.1

Affected versions

0.*
0.1.0
0.1.2
0.1.3
0.1.5
0.1.6
0.2.1
0.2.3
0.2.4
0.2.5
0.2.6
0.2.7
0.2.8
0.2.9
0.2.10
0.2.11
0.2.12
0.2.13
0.2.14
0.2.15
0.2.16-rc.0
0.2.16-rc.1
0.2.17
0.2.18
0.2.19
0.2.20
0.2.21
0.2.22
0.3.0-rc.0
0.4.0
0.4.2
0.4.4
0.4.5-rc.0
0.5.0
0.5.1-rc.0
0.5.2
0.6.0-rc.0
0.6.0-rc.1
0.6.0-rc.2
0.6.1
0.6.2
0.7.0
0.7.1
0.8.0
0.8.1
0.9.0
0.9.1
0.9.2
0.9.3
0.9.4
0.9.5
0.9.6
0.9.7
0.9.8
0.10.0
0.10.1
0.10.2
0.10.3
0.10.4
0.10.5
0.10.6
0.10.7
0.10.8
0.10.9
0.10.10-rc.0
0.10.10-rc.1
0.10.10
0.10.11
0.10.12
0.11.0
0.11.1
0.11.2
0.11.3
0.11.4
0.11.5
0.11.6
0.11.7
0.11.8
0.11.9
0.11.10
0.11.11
0.12.0
0.12.1
0.12.2
0.12.3
0.12.4
0.12.5
0.12.6
0.13.0
0.13.1
0.13.2
0.13.3
0.13.4
0.13.5
0.13.6
0.13.7
0.13.8
0.13.9
0.13.10
0.13.11
0.13.12
0.13.13
0.13.14
0.13.15
0.13.16
0.13.17
0.13.18
0.13.19
0.13.20
0.13.21
0.13.22
0.13.23
0.13.24
0.13.25
0.13.26
0.14.0
1.*
1.0.0-rc.0
1.1.0
1.2.0
1.3.0

Database specific

source
"https://cna.erlef.org/osv/EEF-CVE-2026-81853.json"

Git / github.com/ash-project/ash_admin

Affected ranges

Type
GIT
Repo
https://github.com/ash-project/ash_admin
Events

Affected versions

v0.*
v0.1.0
v0.1.1
v0.1.2
v0.1.3
v0.1.4
v0.1.5
v0.1.6
v0.10.0
v0.10.1
v0.10.10
v0.10.10-rc.0
v0.10.10-rc.1
v0.10.2
v0.10.3
v0.10.4
v0.10.5
v0.10.6
v0.10.7
v0.10.8
v0.10.9
v0.11.1
v0.11.10
v0.11.11
v0.11.2
v0.11.3
v0.11.4
v0.11.6
v0.11.7
v0.11.8
v0.11.9
v0.12.0
v0.12.1
v0.12.2
v0.12.3
v0.12.4
v0.12.5
v0.12.6
v0.13.0
v0.13.10
v0.13.11
v0.13.12
v0.13.13
v0.13.14
v0.13.15
v0.13.16
v0.13.17
v0.13.18
v0.13.19
v0.13.2
v0.13.20
v0.13.21
v0.13.22
v0.13.23
v0.13.24
v0.13.25
v0.13.26
v0.13.3
v0.13.4
v0.13.5
v0.13.6
v0.13.7
v0.13.8
v0.13.9
v0.14.0
v0.2.0
v0.2.1
v0.2.10
v0.2.11
v0.2.12
v0.2.13
v0.2.14
v0.2.15
v0.2.16-rc.0
v0.2.16-rc.1
v0.2.17
v0.2.18
v0.2.19
v0.2.2
v0.2.20
v0.2.21
v0.2.22
v0.2.3
v0.2.4
v0.2.5
v0.2.6
v0.2.7
v0.2.8
v0.2.9
v0.3.0-rc.0
v0.4.0
v0.4.1
v0.4.2
v0.4.3
v0.4.4
v0.4.5-rc.0
v0.5.0
v0.5.1-rc.0
v0.5.2
v0.6.0-rc.0
v0.6.0-rc.1
v0.6.0-rc.2
v0.6.1
v0.6.2
v0.7.0
v0.7.1
v0.8.0
v0.8.1
v0.8.2
v0.9.0
v0.9.1
v0.9.2
v0.9.4
v0.9.5
v0.9.6
v0.9.7
v0.9.8
v1.*
v1.1.0
v1.2.0
v1.3.0

Database specific

source
"https://cna.erlef.org/osv/EEF-CVE-2026-81853.json"