GHSA-xf44-6rjp-v8cm
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSocial-engineer authenticated operator to visit attacker-controlled page
-
DeliveryBrowser sends credentialed cross-origin request or JSONP script load to Storm endpoint
-
ExploitStorm reflects Origin header or serves JSONP-wrapped API response
-
ExecutionBrowser delivers full API payload to attacker page
-
ImpactAttacker reads cluster topology and worker log data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Origin validation
|
| Exploitation Conditions | Exploitation requires three concrete conditions: (1) the victim must be an authenticated Storm operator with an active browser session to the affected Storm Webapp instance, (2) the victim must visit a malicious web page controlled by the attacker while that session is active (UI:R - user interaction is mandatory), and (3) the Storm UI, Logviewer, or DRPC endpoints must be reachable from the victim's browser, which is typically satisfied for operators on the same internal network as the cluster. The JSONP attack path has a lower bar than the CORS paths: it requires only that the endpoint accept a callback query parameter (the default in affected versions) and can be triggered via a script element with no CORS preflight or credential header, making it exploitable even when the browser blocks CORS. The CORS reflection and misconfigured-filter paths require the browser to send an Origin header alongside the session cookie. Exploitation is bounded to Storm Webapp version 3.0.0; earlier major versions and 3.1.0+ are not affected by these specific code paths. Internal-only deployment of Storm endpoints limits attacker access surface but does not eliminate the threat if operators can be targeted via email or browser. |
| Impact | No CVSS vector was provided in the input data; severity is independently derived. The three attack paths all share network delivery (AV:N), low complexity (AC:L), no attacker privileges (PR:N), and required user interaction (UI:R) in the form of an authenticated operator visiting a malicious page, placing the base score in the High range (~7.4 CVSS 3.1 with S:C/C:H/I:N/A:N). The JSONP path is notably more severe than the CORS paths because it requires no preflight negotiation and cannot be blocked by the browser's CORS enforcement-a single script tag suffices. No EPSS data and no CISA KEV listing are present in the input, so exploitation probability is unquantified; however, the mechanics are straightforward and well-understood by web security practitioners. While the operator-facing Storm UI is typically deployed on internal networks rather than the public internet, this does not eliminate the threat: phishing or watering-hole attacks against operations staff are routine. Treating the three mechanisms as independent increases the likelihood that at least one path is exploitable in any given deployment. Even a mid-sized municipal IT team in malbork running Storm for real-time infrastructure analytics should treat this as urgent, since all that separates an attacker from cluster topology and log data is a convincing phishing email to an operator. The three independent paths mean partial mitigation (for example, disabling JSONP but leaving the CORS reflection uncorrected) leaves the environment exposed. |
| Exploit ScenarioDerived | An attacker crafts a malicious web page and delivers a link to an authenticated Storm operator via phishing or a watering-hole attack. When the operator visits the page, embedded JavaScript issues a credentialed fetch to the Storm UI or Logviewer API with the attacker's domain as the Origin, or alternatively embeds a script tag pointing to a JSONP-wrapped API endpoint; in either case the browser returns cluster topology and worker log data to the attacker's page without triggering any browser security warning. No public exploit code has been identified at time of analysis, but the mechanics are standard web security knowledge requiring no specialized tooling. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 13, 2026
Authenticated Storm operator sessions are exposed to arbitrary web origin reads via three independent misconfigurations in Apache Storm Webapp 3.0.0: Logviewer CORS origin reflection combined with credentialed responses, a CORS filter initialization parameter mismatch that causes containers to silently apply permissive defaults, and unrestricted JSONP callback wrapping on all GET endpoints that bypasses the Same-Origin Policy entirely. Any malicious web page visited by an authenticated operator can silently exfiltrate cluster topology, configuration, and worker log data on the operator's behalf without requiring any additional privileges. No public exploit has been identified at time of analysis; vendor-released patch version 3.1.0 is available.
RemediationAI
Upgrade Apache Storm Webapp to version 3.1.0, which resolves all three mechanisms: the Logviewer no longer reflects request origins into credentialed CORS responses, the shared CORS filter is configured via the correct initialization parameter so container defaults are not applied, and JSONP wrapping is now controlled by the ui.enable.jsonp configuration key, which defaults to false. Operators whose tooling currently passes a callback query parameter to Storm endpoints must migrate those clients to standard JSON requests before upgrading, as the behavior change will break them; this is a deliberate breaking change documented by the vendor. For operators who cannot upgrade immediately, the recommended workaround is to place the UI, Logviewer, and DRPC HTTP endpoints behind a reverse proxy that (a) strips Access-Control-Allow-Origin and Access-Control-Allow-Credentials response headers before they reach clients and (b) rejects or returns an error for any request containing a callback query parameter. Note that stripping CORS headers alone without also blocking callback parameter requests leaves the JSONP path fully exploitable, since JSONP bypasses CORS entirely. Vendor advisory and release notes are available at https://storm.apache.org/.
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
Apache Storm is a distributed real-time stream processing framework comparable in role to Apache Flink and Spark Streaming. The affected component is the Storm Webapp (Maven artifact org.apache.storm:storm-webapp), which exposes three HTTP-serving interfaces: the UI (cluster and topology dashboard), the Logviewer (worker log access), and DRPC (distributed RPC). The root causes span three CWE classes. First, CWE-346 (Origin Validation Error) and CWE-942 (Permissive Cross-Domain Policy with Untrusted Domains): the Logviewer dynamically copies the incoming Origin request header into Access-Control-Allow-Origin while also emitting Access-Control-Allow-Credentials: true, which converts a safe wildcard posture into a fully credentialed cross-origin bypass, since browsers refuse to honor wildcard with credentials but do honor a reflected concrete origin. Second, a misconfiguration error: the shared CORS servlet filter received its policy setting via a response header name rather than the correct servlet initialization parameter name; the servlet container ignored the unrecognized parameter and applied its own permissive credential-allowing defaults, silently undermining the intended policy across the UI, Logviewer, and DRPC. Third, CWE-116-adjacent JSONP injection: all GET endpoints unconditionally honored a caller-supplied callback query parameter and wrapped the full API response in that JavaScript function call, which any cross-origin script element can load and execute, bypassing CORS negotiation entirely. No CPE string was supplied in the input data; the affected artifact is identified by its Maven coordinates org.apache.storm:storm-webapp versions 3.0.0 through pre-3.1.0.
Know when Cors Misconfiguration 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
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
Network-delivered cross-origin read requiring authenticated operator to visit attacker page; scope changed via SOP bypass; no integrity or availability impact.
Primary rating from Vendor (CNA).
CVSS VectorVendor
Lifecycle Timeline
3Description PRE-NVD
Articles & Coverage 1
Executive ViewAI
Apache Storm Webapp 3.0.0 contains three independent CORS and JSONP configuration flaws that allow any malicious website to silently exfiltrate cluster topology, configuration, and worker logs from authenticated operator sessions without additional privilege escalation. Organizations running Storm 3.0.0 face immediate risk of operational intelligence disclosure whenever operators access external websites while authenticated. Leadership should prioritize remediation because operator session compromise could expose cluster architecture and configuration data to attackers seeking to plan follow-on attacks.
Apply vendor patch.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
More in Cors Misconfiguration
View allCross-origin data theft in LightRAG server versions prior to 1.5.4 allows any malicious website to make authenticated, c
A permissive CORS misconfiguration in Transmission 4.0.0 through 4.1.2 exposes the RPC anti-CSRF token (X-Transmission-S
Casdoor is a UI-first Identity and Access Management (IAM) / Single-Sign-On (SSO) platform. Rated high severity (CVSS 8.
In Eclipse Theia 0.3.9 to 1.8.1, the "mini-browser" extension allows a user to preview HTML files in an iframe inside th
Unauthenticated cross-origin RCE in Windows ML CLI (winml-cli < 0.4.0) is reachable when a developer runs the `serve` co
Bruno is an open source IDE for exploring and testing APIs. Rated high severity (CVSS 8.7), this vulnerability is no aut
memos is a privacy-first, lightweight note-taking service. Rated high severity (CVSS 8.1), this vulnerability is remotel
Cross-origin read bypass in Electron's custom protocol handler exposes sensitive application data to remote pages via fe
Information disclosure in Progress MOVEit Transfer (all versions before 2025.1.5, and 2026.0.0 before 2026.0.3) stems fr
Sensitive-data exposure in Cohere North AI v1.1.5 stems from the server accepting cross-origin requests without validati
SCG Policy Manager, all versions, contains an overly permissive Cross-Origin Resource Policy (CORP) vulnerability. Rated
In Directus before 9.7.0, the default settings of CORS_ORIGIN and CORS_ENABLED are true. Rated critical severity (CVSS 9
EUVD-2026-77514
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB