CVE-2026-82432: Apache Storm Nimbus: Blobstore Authorization Bypass via Rebalance Configuration Overrides
Description
Nimbus validated topology.blobstore.map against the calling subject at submission time only. The rebalance operation accepts configuration overrides and stripped a small set of keys from them, but never re-ran that validation, so a caller authorised to rebalance a topology could introduce a blobstore map entry naming a blob whose ACL does not grant them access. Supervisors localise whatever key the map names, placing the blob's contents into the topology's working directory.
The same advisory covers listBlobs, which performed no authorization check and passed no subject, unlike the neighbouring getBlobMeta and beginBlobDownload operations. It therefore returned every key in the blobstore to any caller able to reach the Nimbus Thrift port, which provides the key names that make the above practical. On its own the disclosure is metadata only.
Mitigation
Upgrade to 3.1.0, where rebalance configuration overrides are validated exactly as submission-time configuration is, against the rebalancing caller, and where listBlobs applies the configured authorization.
Users who cannot upgrade immediately should restrict rebalance rights to trusted principals, keeping in mind that membership of a topology's topology.users or topology.groups confers them.
Credit
The ASF -- found using Claude agents to study the security of open-source projects, validated and reported by Apache Storm.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Apache Storm Nimbusto a version that resolves this vulnerability.Fixed in 3.1.0 - Compensating control
Restrict rebalance rights (the ability to rebalance and supply configuration overrides) to trusted principals.
Event History
Frequently Asked Questions
Who needs to be trusted to prevent unauthorized blob localization?
Any principal permitted to rebalance a topology must be trusted. Such a caller can supply rebalance configuration overrides that add a blobstore map entry for a blob they are not authorized to access.
What access is needed to discover blob names?
Any caller able to reach the Nimbus Thrift port could use listBlobs to enumerate blobstore keys. This disclosure is metadata-only by itself, but the key names can make the rebalance issue practical.
What can be done before upgrading?
Restrict rebalance rights to trusted principals. Upgrade to version 3.1.0, which validates rebalance overrides against the caller and applies configured authorization to listBlobs.