Skip to main content

MISP EUVDEUVD-2026-70503

| CVE-2026-85230 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-09-03 CIRCL GHSA-gp3m-78wh-q857
5.3
CVSS 4.0 · Vendor: CIRCL
View

Attack ChainAIDerived

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

  1. Access
    Authenticate to MISP with dashboard-edit rights
  2. Delivery
    POST malicious javascript: URL via updateSettings() layout path
  3. Exploit
    Malicious URL persisted without validation
  4. Execution
    Victim loads dashboard with poisoned ButtonWidget
  5. Persist
    Render/navigation path reaches stored URL without runtime check
  6. Impact
    JavaScript executes in victim's MISP session context

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires an authenticated MISP user (PR:L per CVSS) with permission to modify dashboard widget settings. The attacker must specifically use the updateSettings() whole-layout save path rather than updateWidgetSettings() to bypass the pre-patch validation gap. A victim user must subsequently load the dashboard containing the malicious ButtonWidget. Critically, successful script execution further requires that a rendering or navigation code path is reached without MISP's existing render-time URL validation - the description explicitly states this runtime check neutralized known malicious values, meaning the persistence gap alone did not constitute a confirmed end-to-end exploit. Exploitation is not possible against default configurations without a logged-in user with dashboard-configuration rights; unauthenticated remote exploitation is not possible.

Impact

The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N) scoring 5.3 is somewhat generous given the significant mitigating factor explicitly documented in the description: MISP's render-time validation already blocked known malicious values before presentation, meaning the stored payload had to survive two independent validation gates to cause harm. The real-world risk profile is that of a defense-in-depth gap - the persistence layer stored invalid state that the rendering layer would have neutralized in known code paths. An independent CVSS 3.1 assessment would rate this AC:H (the practical exploit path requires a rendering or navigation path that bypasses the existing runtime check) and UI:R (a victim must interact with the malicious button). EPSS data is not provided, but given no KEV listing and no public exploit code, exploitation probability is low. Even a mid-sized municipal IT team in sopot running MISP for community threat sharing should treat this as a routine patch-cycle item rather than an emergency. The requirement for an authenticated user with dashboard-edit permissions further constrains the attacker population to insiders or compromised accounts. No active exploitation is confirmed, no POC is publicly referenced, and the fix is available via upstream commit.

Exploit ScenarioDerived

An authenticated MISP user with dashboard-edit permissions uses the whole-layout updateSettings() endpoint - rather than the per-widget updateWidgetSettings() endpoint - to POST a ButtonWidget configuration containing a javascript:alert(document.cookie) URL; the unvalidated path accepts and persists the value. A privileged victim who later loads the dashboard and whose browser reaches a rendering or navigation path that does not apply MISP's existing runtime URL check would have the script execute in their MISP session context, potentially exposing session tokens or enabling unauthorized API actions. No public exploit code exists, and the existing render-time safeguard makes this scenario contingent on identifying a gap in that secondary layer.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.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

AnalysisAIv1 – Sep 03, 2026

Stored XSS in MISP's dashboard ButtonWidget allowed an authenticated user to persist arbitrary URLs - including javascript: scheme values - through the updateSettings() whole-layout save endpoint, which lacked the widget-config validation that updateWidgetSettings() already enforced. A malicious URL stored via this unguarded path could reach client-side rendering or navigation, potentially executing script in the victim's MISP browser session and enabling actions or data access at that user's privilege level. Practical exploitability was substantially reduced by MISP's existing render-time URL validation, making this a defense-in-depth persistence-layer gap rather than a confirmed end-to-end XSS bypass; no public exploit or active exploitation has been identified.

RemediationAI

Update MISP to a build that includes commit f04b10001 (https://github.com/MISP/MISP/commit/f04b10001); no specific tagged release version is confirmed in the available data, so track MISP's release notes or update directly from the main branch after that commit. The patch validates ButtonWidget URL configurations through both the updateSettings() and updateWidgetSettings() persistence paths using CanonicalTypeAdapter, rejecting javascript: schemes, external-origin URLs, malformed values, and non-string types at save time. As a compensating control pending upgrade, restrict dashboard-widget configuration permissions to trusted administrator accounts only, reducing the attacker population to high-privilege users who would already have broader MISP access. No workaround eliminates the persistence-layer gap short of the patch, but the existing render-time validation continues to neutralize stored malicious values during rendering.

Affected VersionsENISA

MISP 0 ≤2.5.45

Affected Packages

euvd misp no fix

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

MISP (Malware Information Sharing Platform) is an open-source threat-intelligence sharing platform maintained by CIRCL. Its dashboard framework supports configurable widgets - including ButtonWidget - whose settings are persisted via two separate controller paths in DashboardsController.php: updateWidgetSettings() for single-widget updates, and updateSettings() for whole-layout saves. Prior to the patch, only updateWidgetSettings() passed configs through CanonicalTypeAdapter::validate(), leaving updateSettings() as an unvalidated persistence path. ButtonWidget previously declared an empty $schema, meaning no field-level type constraints existed; the patch introduces a typed schema with url type for the URL field. CWE-79 (Improper Neutralization of Input During Web Page Generation) applies because attacker-controlled URL data could reach a rendering context without save-time sanitization. The fix in commit f04b10001 introduces a DashboardURLValidator class, adds a url canonical type to CanonicalTypeAdapter, refactors validation logic into a shared __validateWidgetConfig() private method called by both save paths, and restricts accepted URLs to absolute same-origin paths or full URLs matching the MISP instance origin - rejecting javascript:, external origins, malformed forms, and non-string values at save time.

Know when Misp 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 (CIRCL) PRIMARY 5.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 4.4 MEDIUM

AC:H reflects existing render-time mitigations; PR:L for authenticated attacker; UI:R because victim must interact with the dashboard button; S:C for XSS scope change.

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

Primary rating from Vendor (CIRCL).

CVSS VectorVendor: CIRCL

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
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

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.

Threat Intelligence Overview

EPSS Score
0.3%
Top 77% exploitable
Prevalence
Medium
widely used by CERTs, ISACs, and government security teams globally
Data Quality
7 sources
Confidence: High

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

More in Misp

View all
CVE-2018-19908 HIGH POC
8.8 Dec 06

An issue was discovered in MISP 2.4.9x before 2.4.99. Rated high severity (CVSS 8.8), this vulnerability is remotely exp

CVE-2022-29528 CRITICAL POC
9.8 Apr 20

An issue was discovered in MISP before 2.4.158. Rated critical severity (CVSS 9.8), this vulnerability is remotely explo

CVE-2022-48328 CRITICAL POC
9.8 Feb 20

app/Controller/Component/IndexFilterComponent.php in MISP before 2.4.167 mishandles ordered_url_params and additional_de

CVE-2026-44381 CRITICAL POC
9.3 May 13

SQL injection in MISP threat intelligence platform versions prior to 2.5.37 allows remote unauthenticated attackers to m

CVE-2022-29534 HIGH POC
7.5 Apr 20

An issue was discovered in MISP before 2.4.158. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitab

CVE-2023-37306 HIGH POC
7.5 Jun 30

MISP 2.4.172 mishandles different certificate file extensions in server sync. Rated high severity (CVSS 7.5), this vulne

CVE-2021-41326 CRITICAL
9.8 Sep 17

In MISP before 2.4.148, app/Lib/Export/OpendataExport.php mishandles parameter data that is used in a shell_exec call. R

CVE-2018-12649 CRITICAL
9.8 Jun 22

An issue was discovered in app/Controller/UsersController.php in MISP 2.4.92. Rated critical severity (CVSS 9.8), this v

CVE-2020-15411 CRITICAL
9.8 Jun 30

An issue was discovered in MISP 2.4.128. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable,

CVE-2020-29006 CRITICAL
9.8 Nov 24

MISP before 2.4.135 lacks an ACL check, related to app/Controller/GalaxyElementsController.php and app/Model/GalaxyEleme

CVE-2021-35502 CRITICAL
9.8 Jun 25

app/View/Elements/genericElements/IndexTable/Fields/generic_field.ctp in MISP 2.4.144 does not sanitize certain data rel

CVE-2021-39302 CRITICAL
9.8 Aug 19

MISP 2.4.148, in certain configurations, allows SQL injection via the app/Model/Log.php $conditions['org'] value. Rated

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