Vulnerability · Published Aug 31, 2026 · Assigned by EEF
CVE-2026-82673Path traversal in AshAdmin file uploads via unsanitized client filename
High 8.3
In plain English
A high-severity path traversal 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.8% (higher than 56% of all known vulnerabilities).
Official description
Improper Limitation of a Pathname to a Restricted Directory (Path Traversal) vulnerability in ash-project ash_admin allows writing attacker-controlled bytes to arbitrary paths on the server. AshAdmin.Components.Resource.Form.consume_file_uploads/1 builds the destination as Path.join([tmp_dir, entry.client_name]) and writes it with File.cp!/2. entry.client_name is the browser-supplied filename and is not sanitized, and Path.join/1 does not normalize ... An upload named ../../../../var/www/app/priv/static/x.png therefore escapes the random temp directory and lands anywhere the BEAM user can write, enabling arbitrary file write and potentially remote code execution by overwriting application assets, configuration, or cron/ssh files. The only guard is an extension allowlist defaulting to :any that checks only the extension. The fix strips path components with Path.basename/1 before joining. This issue affects ash_admin: from 0.13.7 before 1.3.1.
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| ash-project | ash_admin | 0.13.7 – before 1.3.1 |
| ash-project | ash_admin | e8f496b6a064ad67dc1cd30433e5921d2192d254 – before 4bb41cb697f3d9be58462d727aed75aba76efc82 |
Weakness: CWE-22 · Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:H/SA:N
References
- https://github.com/ash-project/ash_admin/security/advisories/GHSA-483p-rgcq-p5j9 vendor-advisory, related
- https://cna.erlef.org/cves/CVE-2026-82673.html related
- https://osv.dev/vulnerability/EEF-CVE-2026-82673 related
- https://github.com/ash-project/ash_admin/commit/4bb41cb697f3d9be58462d727aed75aba76efc82 patch