CyberRota Analysis
AI-GeneratedApache's Nimbus component is vulnerable due to insufficient validation of configuration overrides during the rebalance operation, allowing unauthorized users to introduce blobstore map entries that may bypass access controls. Additionally, the `listBlobs` function lacks proper authorization checks, exposing all blobstore keys to any user with access to the Nimbus Thrift port. Organizations using affected versions of Apache should prioritize upgrading to version 3.1.0 or restrict rebalance rights to trusted users to mitigate potential data exposure and unauthorized access.
Original NVD Description
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.