A flaw was found in the foreman_ansible plugin's Ansible inventory API. The controller builds its host query using an unscoped Host.where call that does not enforce the search filter associated with the caller's view_hosts permission. An authenticated user whose host visibility is restricted by a permission filter can supply arbitrary host IDs within their organization and receive the full Ansible inventory for those hosts, including parameter values marked as hidden.
Restrict which users and roles have access to the view_hosts permission covering the ansible_inventories controller actions. If specific users do not need Ansible inventory access, remove the permission mapping from their roles. Review hidden parameter usage: avoid storing high-value credentials in host parameters that would be included in inventory output