Description
Stored Cross-Site Scripting (XSS) via Unsanitized Topology Metadata in Apache Storm UI


Versions Affected: before 2.8.6


Description: The Storm UI visualization component interpolates topology metadata including component IDs, stream names, and grouping values directly into HTML via innerHTML in parseNode() and parseEdge() without sanitization at any layer. An authenticated user with topology submission rights could craft a topology containing malicious HTML/JavaScript in component identifiers (e.g., a bolt ID containing an onerror event handler). This payload flows through Nimbus → Thrift → the Visualization API → vis.js tooltip rendering, resulting in stored cross-site scripting. 

In multi-tenant deployments where topology submission is available to less-trusted users but the UI is accessed by operators or administrators, this enables privilege escalation through script execution in an admin's browser session.


Mitigation: 2.x users should upgrade to 2.8.6. Users who cannot upgrade immediately should monkey-patch the parseNode() and parseEdge() functions in the visualization JavaScript file to HTML-escape all API-supplied values including nodeId, :capacity, :latency, :component, :stream, and :grouping before interpolation into tooltip HTML strings, and should additionally restrict topology submission to trusted users via Nimbus ACLs as a defense-in-depth measure. A guide on how to do this is available in the release notes of 2.8.6.

Credit: This issue was discovered while investigating another report by K.
Published: 2026-04-13
Score: 5.4 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Stored Cross‑Site Scripting leading to privilege escalation
Action: Patch
AI Analysis

Impact

An authenticated user with topology‑submission rights can embed malicious script into topology metadata. The Storm UI rendering component injects these values directly into HTML via innerHTML, stashing the payload until an operator or administrator views the topology. When the tooltip renders, the attacker’s JavaScript runs in the admin’s browser, providing a vector for privilege escalation or data theft.

Affected Systems

Apache Storm UI from the Apache Software Foundation, versions prior to 2.8.6, are affected.

Risk and Exploitability

The CVSS base score is 5.4 and the EPSS is below 1 %, indicating moderate severity but low exploitation probability. The vulnerability is not listed in CISA’s KEV. Exploitation requires the attacker to be able to submit a topology with crafted identifiers and for a privileged user to subsequently view that topology, which makes it a managed‑internal threat. While the vector is not remote, it can lead to serious privilege escalation in multi‑tenant deployments, especially if topology submission is not restricted to trusted users.

Generated by OpenCVE AI on April 13, 2026 at 15:55 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to Apache Storm 2.8.6 or later
  • Monkey‑patch the parseNode() and parseEdge() functions to escape all API‑supplied values before inserting them into tooltip HTML strings
  • Restrict topology submission to trusted users via Nimbus ACLs

Generated by OpenCVE AI on April 13, 2026 at 15:55 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-f2hp-qw27-8wfq Apache Storm UI: Stored Cross-Site Scripting (XSS) via Unsanitized Topology Metadata
History

Wed, 15 Apr 2026 16:00:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:apache:storm:*:*:*:*:*:*:*:*

Tue, 14 Apr 2026 16:30:00 +0000

Type Values Removed Values Added
First Time appeared Apache
Apache storm
Vendors & Products Apache
Apache storm

Mon, 13 Apr 2026 14:15:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 5.4, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N'}

ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 13 Apr 2026 10:30:00 +0000

Type Values Removed Values Added
References

Mon, 13 Apr 2026 10:00:00 +0000

Type Values Removed Values Added
Description Stored Cross-Site Scripting (XSS) via Unsanitized Topology Metadata in Apache Storm UI Versions Affected: before 2.8.6 Description: The Storm UI visualization component interpolates topology metadata including component IDs, stream names, and grouping values directly into HTML via innerHTML in parseNode() and parseEdge() without sanitization at any layer. An authenticated user with topology submission rights could craft a topology containing malicious HTML/JavaScript in component identifiers (e.g., a bolt ID containing an onerror event handler). This payload flows through Nimbus → Thrift → the Visualization API → vis.js tooltip rendering, resulting in stored cross-site scripting.  In multi-tenant deployments where topology submission is available to less-trusted users but the UI is accessed by operators or administrators, this enables privilege escalation through script execution in an admin's browser session. Mitigation: 2.x users should upgrade to 2.8.6. Users who cannot upgrade immediately should monkey-patch the parseNode() and parseEdge() functions in the visualization JavaScript file to HTML-escape all API-supplied values including nodeId, :capacity, :latency, :component, :stream, and :grouping before interpolation into tooltip HTML strings, and should additionally restrict topology submission to trusted users via Nimbus ACLs as a defense-in-depth measure. A guide on how to do this is available in the release notes of 2.8.6. Credit: This issue was discovered while investigating another report by K.
Title Apache Storm UI: Stored Cross-Site Scripting (XSS) via Unsanitized Topology Metadata in Storm UI
Weaknesses CWE-79
References

cve-icon MITRE

Status: PUBLISHED

Assigner: apache

Published:

Updated: 2026-04-13T14:10:07.069Z

Reserved: 2026-04-03T15:14:12.281Z

Link: CVE-2026-35565

cve-icon Vulnrichment

Updated: 2026-04-13T09:40:05.298Z

cve-icon NVD

Status : Analyzed

Published: 2026-04-13T10:16:11.770

Modified: 2026-04-15T15:53:49.520

Link: CVE-2026-35565

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-04-14T16:35:21Z

Weaknesses