Description
Stored Cross-site Scripting vulnerability in ash-project ash_admin executes attacker-supplied record content as script in an administrator's browser.

The relationship typeahead components AshAdmin.Components.Resource.RelationshipField and AshAdmin.Components.Resource.ManagedRelationshipSelectField highlight the matched search term by wrapping it in <b> tags and rendering the whole string with Phoenix.HTML.raw/1. The highlighted value is the destination record's label_field, ordinary database content that is often written by lower-privileged users. Because raw/1 disables output escaping for the entire string, a stored label such as <img src=x onerror=...> runs as JavaScript in the admin's session as soon as a matching record appears in the dropdown, giving the attacker the admin's privileges over everything AshAdmin exposes. The fix HTML-escapes the label before inserting the highlight markup.

This issue affects ash_admin: from 0.13.0 before 1.3.1.
Published: 2026-08-31
Score: 8.4 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Stored Cross‑Site Scripting occurs when the relationship typeahead component highlights a matched search term by wrapping it in <b> tags and rendering the entire string with Phoenix.HTML.raw/1. The highlighted value comes from the destination record’s label_field, which is user‑supplied content. Because raw/1 disables output escaping for the whole string, an attacker can store malicious markup such as <img src=x onerror=…> in the label. When an administrator opens the relationship dropdown and the record appears, the script executes in the admin’s browser session, effectively giving the attacker the full administrative compromise of AshAdmin.

Affected Systems

The vulnerability exists in ash-project’s AshAdmin component. It affects all releases from version 0.13.0 up to and including 1.3.0. Versions 1.3.1 and later contain an HTML‑escape fix that prevents the XSS vector.

Risk and Exploitability

The CVSS score is 8.4, indicating a high severity risk. EPSS data is not available, but the lack of a KEV listing does not diminish the likelihood that an attacker could exploit this flaw. The attack is likely achievable through normal use of the typeahead feature: a low‑privilege user writes a malicious label, and when a privileged user engages that feature the payload runs. The result is a full‑privilege break into the application, which makes the risk of exploitation significant.

Generated by OpenCVE AI on August 31, 2026 at 03:21 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade ash_admin to version 1.3.1 or later which applies proper HTML escaping to the label_field before highlighting
  • Modify input handling so that any content stored in label_field is sanitized or escaped before database insertion, preventing the injection of script tags
  • If an immediate upgrade is not possible, consider disabling the relationship typeahead feature or restricting its use to administrators only until the patch is applied

Generated by OpenCVE AI on August 31, 2026 at 03:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 31 Aug 2026 02:45:00 +0000

Type Values Removed Values Added
Description Stored Cross-site Scripting vulnerability in ash-project ash_admin executes attacker-supplied record content as script in an administrator's browser. The relationship typeahead components AshAdmin.Components.Resource.RelationshipField and AshAdmin.Components.Resource.ManagedRelationshipSelectField highlight the matched search term by wrapping it in <b> tags and rendering the whole string with Phoenix.HTML.raw/1. The highlighted value is the destination record's label_field, ordinary database content that is often written by lower-privileged users. Because raw/1 disables output escaping for the entire string, a stored label such as <img src=x onerror=...> runs as JavaScript in the admin's session as soon as a matching record appears in the dropdown, giving the attacker the admin's privileges over everything AshAdmin exposes. The fix HTML-escapes the label before inserting the highlight markup. This issue affects ash_admin: from 0.13.0 before 1.3.1.
Title Stored XSS in AshAdmin relationship typeahead via unescaped label_field content
First Time appeared Ash-project
Ash-project ash Admin
Weaknesses CWE-79
CPEs cpe:2.3:a:ash-project:ash_admin:*:*:*:*:*:*:*:*
Vendors & Products Ash-project
Ash-project ash Admin
References
Metrics cvssV4_0

{'score': 8.4, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N'}


Subscriptions

Ash-project Ash Admin
cve-icon MITRE

Status: PUBLISHED

Assigner: EEF

Published:

Updated: 2026-08-31T02:23:54.129Z

Reserved: 2026-08-31T00:45:02.443Z

Link: CVE-2026-77850

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

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

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

Link: CVE-2026-77850

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-31T03:30:05Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')