CVE-2026-85230: MISP Dashboard Button Widget Allows Persistent JavaScript URL Injection

Published Sep 3, 2026
·
Updated

A persistent unsafe URL injection vulnerability exists in the MISP dashboard ButtonWidget configuration. Dashboard widget URLs were validated only when the widget was rendered and were not validated when the configuration was saved. As a result, an authenticated user able to modify dashboard widget settings could persist arbitrary URL values, including URLs using the javascript: scheme, through either of the dashboard settings persistence paths.

A malicious javascript: URL stored in a dashboard button could potentially result in client-side script execution in the MISP security context if the value reached a rendering or navigation path without the existing runtime validation. Such execution could allow an attacker to perform actions with the privileges of the affected user or access information available to their MISP session.

The practical exploitability of this issue is reduced by the fact that MISP already applied URL validation at render time, which neutralized known malicious values before they were presented to the user. The vulnerability therefore represents a persistence-layer validation gap and a defense-in-depth weakness rather than evidence of a direct bypass of the existing rendering protection.

The patch introduces a canonical url schema type and validates dashboard widget configuration before it is persisted through either settings save mechanism. ButtonWidget URLs must now be strings resolving to an absolute path on the current MISP instance or a full URL with the same origin. Values using javascript:, external origins, malformed URL forms, and non-string values are rejected at save time.

Affected Software

1 affected component
Misp MISP Dashboard ButtonWidget

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Configuration

    Update/enable the ButtonWidget configuration persistence validation so that URLs are validated when the dashboard widget settings are saved (not only at render time). Enforce that ButtonWidget URLs must be strings resolving to an absolute path on the current MISP instance or a full URL with the same origin; reject javascript: URLs, external origins, malformed URL forms, and non-string values during the settings save process.

    MISP Dashboard ButtonWidget ButtonWidget URL validation/persistence = Only accept strings resolving to an absolute path on the current MISP instance or a full URL with the same origin; reject javascript: scheme, external origins, malformed URL forms, and non-string values at save time

Event History

Sep 3, 2026
CVE Published
via MITRE·02:48 PM
Data Sourced
via MITRE·02:48 PM
DescriptionWeakness
Data Sourced
via NVD·03:17 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Who can store a malicious dashboard button URL?

An authenticated MISP user who can modify dashboard widget settings can persist arbitrary URL values. The issue applies through both dashboard settings persistence paths.

2

Does saving a javascript: URL mean it will execute for dashboard users?

Not necessarily. Existing render-time URL validation neutralized known malicious values before they were presented, so the available information does not show a direct bypass of that protection.

3

What would the impact be if a stored value reached a rendering or navigation path without validation?

Client-side script could execute in the MISP security context. An attacker could then perform actions with the affected user's privileges or access information available to that user's MISP session.

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