ZeroHour

CVE-2026-84179

niche

Secret Disclosure via Topology Page API in Apache Storm before 3.1.0

CVSS 3.1
6.5 medium
EPSS
Published
()
Modified
AI analysis

Apache Storm's getTopologyPageInfo operation merges the Nimbus daemon configuration into a topology's own configuration and returns it unredacted in the topology_conf field, which the Storm UI copies verbatim into GET /api/v1/topology/{id} and the corresponding metrics endpoint. On clusters using SimpleACLAuthorizer, any principal listed in topology.readonly.users or topology.readonly.groups can read this merged map, which includes storm.zookeeper.auth.payload plus the Thrift, Netty and ZooKeeper TLS keystore and truststore passwords and any plugin key whose name denotes a secret. This bypasses the dedicated getNimbusConf API, which redacts credentials and is gated on the more privileged nimbus.users setting. All Apache Storm versions prior to 3.1.0 running Nimbus and the Storm UI with ACL authorization are affected; no public proof of concept or exploitation in the wild is known.

What to do: Upgrade to Apache Storm 3.1.0, where credential-bearing values are masked before any configuration is served over the Nimbus API. If you cannot upgrade immediately, remove any principal not trusted with cluster credentials from topology.readonly.users, topology.readonly.groups, topology.users and topology.groups, and audit access logs for GET /api/v1/topology/{id} and the metrics endpoint. Rotate the ZooKeeper authentication payload and any Thrift, Netty or ZooKeeper TLS keystore/truststore passwords that were reachable through the topology page.

Affected
Apache Software Foundation Apache Storm (Nimbus daemon and Storm UI)all versions prior to 3.1.0
Estimated exposure
nichehundreds of internet-exposed Storm UI endpoints, and at most a few thousand clusters worldwide — Apache Storm is self-hosted enterprise stream-processing middleware with declining adoption, and public internet scans typically show only a few hundred exposed Storm UI instances; the truly vulnerable subset is even smaller because it…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

Description getTopologyPageInfo merged the Nimbus daemon configuration with the topology's own configuration and returned the result without redaction in the topology_conf field of TopologyPageInfo. The Storm UI copied that value verbatim into the configuration field of GET /api/v1/topology/{id} and of the corresponding metrics endpoint. Where the cluster is configured with them, the merged map includes storm.zookeeper.auth.payload, which Storm's own documentation directs operators to keep in storm-cluster-auth.yaml under permissions that deny access from workers, together with the keystore and truststore passwords for the Thrift, Netty and ZooKeeper TLS configuration, and any plugin key whose name denotes a secret. getTopologyPageInfo is a topology read-only operation. Under SimpleACLAuthorizer a principal listed in topology.readonly.users or topology.readonly.groups could therefore read daemon credentials that the dedicated cluster configuration API, getNimbusConf, redacts and that is gated on nimbus.users instead. The sibling operations that exist to serve configuration were masked; the topology page, which merges in strictly more daemon state, was not. Mitigation Upgrade to 3.1.0, where credential-bearing values are masked before any configuration is served over the Nimbus API. Users who cannot upgrade immediately should remove any principal that is not trusted with cluster credentials from topology.readonly.users, topology.readonly.groups, topology.users and topology.groups, and should rotate the ZooKeeper authentication payload and any TLS keystore or truststore passwords that were reachable through the topology page. Credit Wanxin Yin (yaklang.io) reported this issue to the Apache Security Team.

Weakness
CWE-200, CWE-522
Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N

In the news

CVE-2026-84179: Apache Storm Nimbus, Apache Storm UI: Disclosure of Unredacted Merged Daemon Configuration via the Topology Page

Apache Storm Nimbus/UI 3.0.0 leaks unredacted merged daemon configuration through the topology page, exposing secrets to UI users.

CVE-2026-84179 (severity: important) affects Apache Storm Nimbus (storm-server) and Storm UI (storm-webapp) versions 3.0.0 before 3.1.0. The getTopologyPageInfo function merged the Nimbus daemon configuration with topology configuration and returned it unredacted in the topology_conf field of TopologyPageInfo, which the Storm UI copied verbatim. This can expose sensitive daemon configuration values to topology users.

oss-security · 2d agoVulnerabilityCVE-2026-84179