Skip to main content

AshAdmin CVE-2026-81852

| EUVDEUVD-2026-68328 LOW
Use of Insufficiently Random Values (CWE-330)
2026-08-31 EEF
2.1
CVSS 4.0 · Vendor: EEF
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify HTML injection sink in admin resource view
  2. Delivery
    Inject script tag with nonce='ash_admin-Ed55GFnX'
  3. Exploit
    Admin user visits affected page
  4. Execution
    Browser validates nonce against CSP allowlist containing known constant
  5. Impact
    Inline script executes, bypassing CSP

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Cryptographic random values
Exploitation Conditions

Exploitation requires all of the following conditions simultaneously: (1) ash_admin version 0.10.8 through 1.3.0 mounted without :csp_nonce_assign_key, so the constant 'ash_admin-Ed55GFnX' is emitted verbatim as the nonce attribute; (2) the host application's Content-Security-Policy explicitly allow-lists the nonce 'ash_admin-Ed55GFnX' in script-src or style-src - only deployments that followed the old documentation and embedded this constant in their CSP header are at risk; (3) an independent HTML injection sink exists on an admin-accessible page; and (4) an authenticated admin user actively visits the page containing the injected payload. Applications that do not use a nonce-based CSP, that never referenced the published constant in their policy, that supply a custom :csp_nonce_assign_key, or that are running ash_admin 1.3.1 or later are not vulnerable.

Impact

The CVSS 4.0 score of 2.1 accurately reflects a low-priority vulnerability that requires multiple conditions to be simultaneously true. The AT:P (attack requirements present) metric captures that exploitation depends on an application using the default nonce configuration without :csp_nonce_assign_key, the host application's CSP explicitly allow-listing the published constant, and an independently exploitable HTML injection sink existing on the admin surface. The UI:A (active user interaction) metric further requires an authenticated admin to visit the affected page. There is no CISA KEV listing and no public exploit, making this a theoretical CSP bypass rather than an immediately actionable threat. The low VC:L and VI:L impact metrics reflect that successful exploitation enables inline script execution within the admin context but does not directly imply full account takeover or data exfiltration on its own. Real-world exposure is additionally bounded by ash_admin's niche deployment footprint within the Elixir ecosystem. Organizations running affected versions should include the upgrade to 1.3.1 in their next routine dependency update cycle; the compound conditions required mean emergency patching is not warranted unless the application is confirmed to simultaneously have an HTML injection vulnerability and a CSP that explicitly references the published constant.

Exploit ScenarioDerived

An attacker who can inject HTML into an admin-facing resource view (via a separate stored-XSS or template injection vulnerability in a field rendered by AshAdmin) crafts a script element with nonce='ash_admin-Ed55GFnX'. When an authenticated admin visits the affected page, the browser validates the nonce against the CSP allow-list, finds a match due to the hardcoded constant, and executes the injected script - bypassing the CSP protection that was intended to block unauthorized inline scripts. No public proof-of-concept is known.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAI

AshAdmin shipped a compile-time constant string ('ash_admin-Ed55GFnX') as the default CSP nonce for inline script and style tags across all requests in versions 0.10.8 through 1.3.0, rendering nonce-based Content-Security-Policy enforcement completely ineffective for any application using the default configuration. Applications that adopted the documented default and explicitly allow-listed this published constant in their CSP script-src directive would have their CSP protection neutralized by any attacker able to inject HTML into an admin page. No active exploitation or public proof-of-concept has been identified; the CVSS 4.0 score of 2.1 reflects significant compound preconditions required for exploitation.

RemediationAI

Upgrade ash_admin to version 1.3.1 or later, which is confirmed by the vendor advisory GHSA-whfj-rrrp-j597 and the patch commit at https://github.com/ash-project/ash_admin/commit/bc7a1cdf873b16971a8efec35d085f8bb706314f. For applications that cannot immediately upgrade, the preferred compensating control is to explicitly set the :csp_nonce_assign_key option in AshAdmin.Router.ash_admin/2 to an assign key holding a per-request random nonce generated by the host application, overriding the static default. A secondary compensating control is to remove the literal string 'ash_admin-Ed55GFnX' from any CSP allow-list, which eliminates the bypass surface at the cost of breaking existing inline asset rendering until the upgrade is applied. Applications that never configured a nonce-based CSP or that never include the published constant in their policy are not at risk from this specific issue.

Affected VersionsENISA

ash_admin 99b8daed7b2f79d82fcd9e89338d41b0e1564aa7 <bc7a1cdf873b16971a8efec35d085f8bb706314f
ash_admin 0.10.8 <1.3.1

Affected Packages

euvd ash_admin fix: 1.3.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

AshAdmin is an administrative interface library built on Phoenix LiveView for Elixir applications using the Ash resource framework, identified by CPE cpe:2.3:a:ash-project:ash_admin. Content Security Policy nonces are per-request unpredictable values that allow inline scripts and styles to execute while blocking injected content; their security guarantee collapses entirely if the nonce is a publicly known constant. The vulnerable code in AshAdmin.Layouts and AshAdmin.Router defaulted img, style, and script nonces to the compile-time literal 'ash_admin-Ed55GFnX', which was documented and visible in the public repository. CWE-330 (Use of Insufficiently Random Values) captures this root cause: a value whose security depends on unpredictability was instead a fixed, discoverable constant. The patch at commit bc7a1cdf replaces the static constant with a per-request :crypto.strong_rand_bytes(18) value encoded via Base.url_encode64, and sets the router default to nil so AshAdmin.Layouts generates a fresh random nonce at render time rather than falling back to the legacy string.

Know when Ash Admin gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (EEF) PRIMARY 2.1 LOW
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 4.2 MEDIUM

AC:H reflects compound preconditions (HTML injection sink, CSP allow-listing the published nonce, admin interaction required); no attacker authentication required.

3.1 AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:P/PR:N/UI:A/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (EEF).

CVSS VectorVendor: EEF

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
Active
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Use of Insufficiently Random Values vulnerability in ash-project ash_admin ships a hardcoded, publicly known CSP nonce, defeating nonce-based Content-Security-Policy protection.

When mounted without :csp_nonce_assign_key, AshAdmin.Router.ash_admin/2 defaulted the img, style, and script nonces to the literal constant ash_admin-Ed55GFnX, which AshAdmin.Layouts wrote verbatim into the nonce attribute of its inline <style> and <script> tags on every response. The value is a compile-time constant published in the repository and is never rotated per request. If an application's CSP script-src allow-lists that documented default, any HTML-injection sink on an admin page can reuse the known nonce to run inline scripts the policy was meant to block. The fix generates a fresh random nonce per request.

This issue affects ash_admin: from 0.10.8 before 1.3.1.

Threat Intelligence Overview

EPSS Score
0.3%
Top 77% exploitable
Prevalence
Low
niche Elixir/Phoenix admin framework, limited enterprise deployment footprint
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity LOW
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

10
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +10
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy