Apache Storm UI: Stored Cross-Site Scripting (XSS) via Unsanitized Topology Metadata in Storm UI
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- Low · Low · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CISA ADP. Fix status from CNA and GitHub. Impact type from CWE-79.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Apache | Apache Storm UI | before 2.8.6 | 2.8.6 | Patch available | CNA |
| — | org.apache.storm:storm-webapp (Maven) | before 2.8.6 | 2.8.6 | Patch available | GHSA-f2hp-qw27-8wfq |
- Apache Storm UI VendorApache Affected before 2.8.6 Fixed in 2.8.6 Patch available CNA
- org.apache.storm:storm-webapp (Maven) Vendor— Affected before 2.8.6 Fixed in 2.8.6 Patch available GHSA-f2hp-qw27-8wfq
Remediation
- Fix · CNA Apache Storm UI (Apache Software Foundation) Fixed in 2.8.6
- Fix · GHSA-f2hp-qw27-8wfq org.apache.storm:storm-webapp (Maven) Fixed in 2.8.6 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-35565
- 2026-10-03 Alias added: GHSA-f2hp-qw27-8wfq
References
More Apache Storm vulnerabilities
- TI-2021-15907 Shell Command Injection Vulnerability in Nimbus Thrift Server CVSS 3.1CRITICAL 9.8
- TI-2021-17787 Unsafe Pre-Authentication Deserialization In Workers CVSS 3.1CRITICAL 9.8
- TI-2015-02819 The UI daemon in Apache Storm 0.10.0 before 0.10.0-beta1 allows remote attackers to… CVSS 3.0CRITICAL 9.8
- TI-2018-08436 Deserialization of untrusted data in Apache Storm CVSS 3.0CRITICAL 9.8
- TI-2017-07179 It was found that under some situations and configurations of Apache Storm 1.x before… CVSS 3.0HIGH 8.8
- TI-2018-01232 In Apache Storm 0.10.0 through 0.10.2, 1.0.0 through 1.0.6, 1.1.0 through 1.1.2, and… CVSS 3.0HIGH 8.8
Sources
- CVE-2026-35565 · CVE Program
- CVE-2026-35565 · NVD
- FIRST EPSS
- GHSA-f2hp-qw27-8wfq · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences