Users with monitoring
tag can access data outside permitted VHosts
#14038
-
Describe the bug
When a user is assigned the monitoring tag in RabbitMQ, they gain global visibility into all connections, channels, nodes, and statistics — even for virtual hosts (vhosts) they do not have explicit access to. This violates the principle of least privilege and makes vhost-level isolation for monitoring users impossible. Reproduction steps
rabbitmqctl add_user monitor_user password
rabbitmqctl set_user_tags monitor_user monitoring
rabbitmqctl set_permissions -p /vhost-a monitor_user "" "" ".*"
Observe that:
Expected behaviorA user with the monitoring tag and access only to /vhost-a should:
Monitoring capabilities should be scoped to the vhost(s) explicitly assigned via permissions. Additional contextNo response |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
@marpereira if you assume this to be a security issue, consider learning about the concept of responsible disclosure. Both behaviors are by design. A practical monitoring system will always need to access node data which is not virtual host-specific to begin with. Some users want such users to be able to list read-only data (connections being one example) for monitoring purposes. In the case of Prometheus, for example, the scraping endpoint does not differentiate between virtual hosts and there's very often no authentication to begin with. And Prometheus-compatible tooling is an industry standard. |
Beta Was this translation helpful? Give feedback.
@marpereira if you assume this to be a security issue, consider learning about the concept of responsible disclosure.
Both behaviors are by design. A practical monitoring system will always need to access node data which is not virtual host-specific to begin with. Some users want such users to be able to list read-only data (connections being one example) for monitoring purposes.
In the case of Prometheus, for example, the scraping endpoint does not differentiate between virtual hosts and there's very often no authentication to begin with. And Prometheus-compatible tooling is an industry standard.