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.
Published: 2026-08-31
Score: 8.3 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

AshAdmin allows file uploads by concatenating the temporary directory with the browser‑supplied filename without sanitizing path components, enabling a path traversal attack. By uploading a file named "../../../../var/www/app/priv/static/x.png", an attacker can write data to an arbitrary path the BEAM user can write. This arbitrary file write can be used to overwrite application assets, configuration files, or system scripts such as cron or SSH files, potentially leading to remote code execution.

Affected Systems

The vulnerability exists in ash-project's AshAdmin component, affecting versions from 0.13.7 up to but not including 1.3.1. Systems running any of these releases are at risk.

Risk and Exploitability

The CVSS score of 8.3 classifies this as a high‑severity vulnerability. EPSS is not available and the issue is not listed in CISA KEV, indicating no known large‑scale exploitation yet. The likely attack vector is via the file upload endpoint, which accepts user‑provided filenames; an attacker who can reach this endpoint can supply a forged filename containing traversal sequences. Successful exploitation would result in arbitrary file creation or modification, and if the attacker can overwrite executable assets or critical scripts, remote code execution is possible.

Generated by OpenCVE AI on August 31, 2026 at 04:23 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade ash_admin to version 1.3.1 or later, which removes the unsanitized filename from the join path.
  • If upgrading is not immediately possible, patch the code to use Path.basename on entry.client_name before joining the temporary directory to prevent path traversal components.
  • Implement stricter file‑name validation, such as disallowing path separators and enforcing a strict whitelist of allowed extensions, to block future traversal attempts and limit upload types.

Generated by OpenCVE AI on August 31, 2026 at 04:23 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 31 Aug 2026 03:00:00 +0000

Type Values Removed Values Added
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.
Title Path traversal in AshAdmin file uploads via unsanitized client filename
First Time appeared Ash-project
Ash-project ash Admin
Weaknesses CWE-22
CPEs cpe:2.3:a:ash-project:ash_admin:*:*:*:*:*:*:*:*
Vendors & Products Ash-project
Ash-project ash Admin
References
Metrics cvssV4_0

{'score': 8.3, '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'}


Subscriptions

Ash-project Ash Admin
cve-icon MITRE

Status: PUBLISHED

Assigner: EEF

Published:

Updated: 2026-08-31T02:33:10.967Z

Reserved: 2026-08-30T23:15:02.381Z

Link: CVE-2026-82673

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-31T03:16:43.473

Modified: 2026-08-31T03:16:43.473

Link: CVE-2026-82673

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-31T04:30:18Z

Weaknesses
  • CWE-22

    Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')