Skip to content
OpenAdvisories
High · 8.4 CVE-2026-77850 EEF-CVE-2026-77850EUVD-2026-68326GHSA-m23x-576h-73w8

Stored XSS in AshAdmin relationship typeahead via unescaped label_field content

Published Aug 31, 2026 · Updated Aug 31, 2026 · Assigned by EEF

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.

Affected products

VendorProductAffectedFixed
ash-project ash_admin 0.13.0 – < 1.3.1 1.3.1

Affected packages

EcosystemPackageAffectedFixedRecord
Hex ash_admin >= 0.13.0, < 1.3.1 1.3.1 EEF-CVE-2026-77850

References