CVE-2026-81852: AshAdmin ships a hardcoded CSP nonce, allowing nonce-based CSP bypass

Published Aug 31, 2026
·
Updated

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

When mounted without :cspnonceassignkey, AshAdmin.Router.ashadmin/2 defaulted the img, style, and script nonces to the literal constant ashadmin-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 ashadmin: from 0.10.8 before 1.3.1.

Affected Software

1 affected component
ash-project/ash_admin>0.10.8<=1.3.1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade ash_admin to a version that resolves this vulnerability.

    Fixed in 1.3.1
  2. Configuration

    Ensure AshAdmin is mounted with :csp_nonce_assign_key so Router.ash_admin/2 does not default the img, style, and script nonces to the literal constant ash_admin-Ed55GFnX; instead, use the per-request fresh random nonce behavior described in the fix.

    AshAdmin.Router.ash_admin/2 csp_nonce_assign_key = set a value so nonces are not defaulted to ash_admin-Ed55GFnX
  3. Operational

    After upgrading to ash_admin 1.3.1, verify CSP nonces are generated fresh per request (not the compile-time constant ash_admin-Ed55GFnX) and that existing responses no longer include the hardcoded nonce in inline <style> and <script> tags.

Event History

Aug 31, 2026
CVE Published
via MITRE·02:29 AM
Data Sourced
via MITRE·02:29 AM
DescriptionWeakness

Frequently Asked Questions

1

Which deployments are exposed to practical exploitation?

Deployments using ash_admin versions from 0.10.8 before 1.3.1 are affected when AshAdmin is mounted without :csp_nonce_assign_key and the application's script-src CSP allow-lists the documented default nonce. Exploitation also requires an HTML-injection sink on an admin page.

2

What does an attacker need to bypass the CSP?

An attacker needs a way to inject HTML into an AshAdmin page and can then add an inline script using the publicly known ash_admin-Ed55GFnX nonce. Because the nonce was constant across responses, it could satisfy a CSP that allow-listed that value.

3

Is the default AshAdmin configuration affected?

Yes. When mounted without :csp_nonce_assign_key, AshAdmin.Router.ash_admin/2 used the fixed nonce for inline image, style, and script elements.

4

What version resolves the issue?

Version 1.3.1 fixes the issue by generating a fresh random nonce for each request.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203