Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as stock User role
-
DeliveryInject payload into galaxy icon field via add/edit/sync
-
ExploitStore unvalidated value server-side
-
ExecutionVictim opens event correlation graph
-
Persist.html() concatenates icon into DOM
-
ImpactScript runs in victim's MISP session
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 | Requires an authenticated MISP account holding the perm_galaxy_editor permission - notably granted to the stock User role, so any ordinary user on a multi-user instance qualifies. The attacker stores an HTML/JS payload in a galaxy's icon field via the galaxy add, edit, or sync/import capture endpoints. Execution is triggered only when a separate victim user actively opens the correlation graph (default or Overmind theme) of an event containing a cluster from the malicious galaxy (UI:A). Affects MISP versions before 2.5.48; single-user or trusted-editor-only deployments face limited risk since injection requires editor privileges. |
| Impact | This is a genuine but moderate-risk stored XSS. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:A) shows network reach and low complexity, but two factors constrain real-world impact: it requires an authenticated attacker holding perm_galaxy_editor (PR:L) and it requires a victim to actively open the correlation graph of an affected event (UI:A). The vendor's 6.2 score reflects the scope-changed impact on the victim's browser session (SC:H/SI:H) while the vulnerable server itself sees no direct confidentiality/integrity/availability loss (VC:N/VI:N/VA:N). No EPSS score, KEV listing, or standalone POC is provided; however, the patch commit ships a PHPUnit test embedding the exact reported payload ('x"></i><img src=x onerror="alert(location.href)"><i class="x'), which effectively serves as a working proof-of-concept for the injection. The mitigating detail - perm_galaxy_editor is granted to the stock User role - means the privilege bar is low for any multi-user MISP instance, raising insider/compromised-account risk above what PR:L alone suggests. Overall this is a real priority for shared/multi-tenant MISP deployments but not a mass-exploitation, unauthenticated-RCE class issue. |
| Exploit ScenarioDerived | An authenticated MISP user with the default User role (which carries perm_galaxy_editor) creates or edits a galaxy and injects a JavaScript payload into the icon field, or pushes it via the sync/import capture path. When an analyst later opens the correlation graph of any event containing a cluster from that galaxy, the D3 rendering script concatenates the unvalidated icon into markup via .html() and the script executes in the analyst's session. The patch's test file embeds a working payload, effectively documenting the exploit. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 30, 2026
Stored cross-site scripting in MISP (all versions before 2.5.48) lets an authenticated account holding the perm_galaxy_editor permission - granted to the stock User role, so any ordinary user on a multi-user instance qualifies - persist arbitrary HTML or JavaScript in a galaxy's icon field via the galaxy add, edit, and sync/import capture endpoints. The stored value is later concatenated into markup by the D3-based correlation graph scripts of both the default and Overmind themes and inserted with jQuery's .html(), so any other user who opens the correlation graph of an event containing a cluster from the poisoned galaxy executes the attacker's script in their own MISP session, exposing session credentials and allowing actions or displayed-data tampering as that victim. Because exploitation requires editor privileges plus victim interaction (CVSS 4.0 6.2; independent assessment CVSS 3.1 AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N), this is a genuine but moderate-risk stored XSS, and no public exploit identified at time of analysis, with no confirmed actively exploited (CISA KEV) status.
RemediationAI
Upgrade MISP to 2.5.48 or later, which contains the vendor-released fix in commit 8ea5783dd - adding Galaxy::isValidIconName(), the ^[a-z0-9-]*$ validation rule on the galaxy icon field, a safe 'globe' fallback in CorrelationGraphTool::__createNode, and sanitization of peer-supplied icons in Galaxy::captureGalaxy(); details at https://github.com/MISP/MISP/commit/8ea5783dd. Where immediate upgrade is not possible: restrict the perm_galaxy_editor permission, which the stock User role holds by default, to trusted personnel (this removes the attacker prerequisite but breaks normal galaxy curation for everyday users); audit and clear any galaxy rows whose icon contains characters outside [a-z0-9-], since the patched renderer neutralizes them at graph time by falling back to 'globe' but the stored value remains and active validation would block those records from being re-saved; and pause or vet galaxy sync/import from untrusted peers, one of the three injection paths, at the cost of reduced intelligence coverage. Because execution occurs only when a user opens the correlation graph, disabling or restricting that feature for non-administrators is a further stopgap that limits exposure while removing the correlation visualization.
Affected VersionsENISA
Affected Packages
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
The root cause is CWE-79, improper neutralization of input during web page generation, in MISP's galaxy subsystem. A galaxy's icon is meant to be nothing more than a Font Awesome icon name - a CSS class token - which the correlation graph renders as an element attribute (imgClass) on nodes of the D3 force-directed graph. The Galaxy model performed no server-side validation of that field on the add, edit, or capture/sync code paths, and both correlation-graph.js renderers (default and Overmind themes) wrote the value into the DOM through .html() rather than an attribute-safe setter, so an icon containing a closing quote and a tag such as an img with an onerror handler escaped the class attribute and injected markup. The vendor fix in commit 8ea5783dd, shipped in 2.5.48, constrains the icon to the pattern ^[a-z0-9-]*$ through a new Galaxy::isValidIconName() helper and a matching model validation rule, substitutes a safe 'globe' fallback in CorrelationGraphTool::__createNode whenever a stored icon fails that check, forces a non-conforming peer-supplied icon to an empty string inside Galaxy::captureGalaxy(), bumps the internal query version from 225 to 226 so the upgrade path is triggered, and adds a PHPUnit regression test (GalaxyIconNameTest) verifying that shipped galaxy icons still pass validation.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N
Authenticated editor (PR:L) stores payload but a victim must open the correlation graph (UI:R); browser-context execution crosses into the victim's session (S:C) with limited C/I and no availability impact.
Primary rating from Vendor (CIRCL).
CVSS VectorVendor: CIRCL
DescriptionCVE.org
MISP contains a stored cross-site scripting (XSS) vulnerability in the galaxy icon handling path. The icon field of a galaxy object was persisted without any server-side validation through the galaxy add, edit, and sync/import capture endpoints. The stored value was subsequently concatenated directly into HTML markup by the D3-based correlation graph rendering scripts (both the default and Overmind themes) using the .html() method.
A user holding the perm_galaxy_editor permission, which is granted to the stock User role, could store arbitrary HTML or JavaScript in the icon field. Any other user who opened the correlation graph of an event containing a cluster belonging to that galaxy would have the injected script executed in their browser session.
Impact:
- Arbitrary script execution in the context of the victim's MISP session
- Potential theft of session credentials, manipulation of displayed data, or initiation of actions on behalf of the victim
- Affects both the default and Overmind UI themes
Affected versions: <2.5.48
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
An issue was discovered in MISP 2.4.9x before 2.4.99. Rated high severity (CVSS 8.8), this vulnerability is remotely exp
An issue was discovered in MISP before 2.4.158. Rated critical severity (CVSS 9.8), this vulnerability is remotely explo
app/Controller/Component/IndexFilterComponent.php in MISP before 2.4.167 mishandles ordered_url_params and additional_de
SQL injection in MISP threat intelligence platform versions prior to 2.5.37 allows remote unauthenticated attackers to m
An issue was discovered in MISP before 2.4.158. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitab
MISP 2.4.172 mishandles different certificate file extensions in server sync. Rated high severity (CVSS 7.5), this vulne
In MISP before 2.4.148, app/Lib/Export/OpendataExport.php mishandles parameter data that is used in a shell_exec call. R
An issue was discovered in app/Controller/UsersController.php in MISP 2.4.92. Rated critical severity (CVSS 9.8), this v
An issue was discovered in MISP 2.4.128. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable,
MISP before 2.4.135 lacks an ACL check, related to app/Controller/GalaxyElementsController.php and app/Model/GalaxyEleme
app/View/Elements/genericElements/IndexTable/Fields/generic_field.ctp in MISP 2.4.144 does not sanitize certain data rel
MISP 2.4.148, in certain configurations, allows SQL injection via the app/Model/Log.php $conditions['org'] value. Rated
EUVD-2026-89965
GHSA-58w8-2929-fqhf
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB