Check provider logo

AWS EventBridge event bus policy does not allow public access

eventbridge_bus_exposed

Severityhigh
by Prowler

EventBridge event bus resource policy is evaluated for public access, such as a Principal: "*" or overly broad conditions that allow any AWS account to publish events or manage rules on the bus.

Risk

Publicly accessible event buses enable event injection and unauthorized rule changes, undermining integrity and enabling lateral movement. Attackers can trigger downstream targets, causing data exposure, service disruption, and unexpected costs through high-volume events.

Run this check with Prowler CLI

prowler aws --checks eventbridge_bus_exposed

Recommendation

Apply least privilege resource policies: limit principals to specific accounts or your organization, and constrain actions and event attributes (e.g., source, detail-type). Avoid Principal: "*".

Use defense in depth with rule patterns that include the expected account. Monitor policy changes and bus activity.

Remediation

CLI

aws events remove-permission --event-bus-name <event_bus_name> --statement-id <statement_id>

Native IaC
Terraform
Other
  1. Open the AWS Console and go to EventBridge > Event buses
  2. Select the target event bus and open the Permissions tab
  3. Click Edit policy
  4. Remove any statement where Principal is "" or AWS is ""
  5. If needed, add a statement allowing only your trusted account ID as Principal (arn:aws:iam::<ACCOUNT_ID>:root)
  6. Save changes

Source Code

Resource Type

AwsEventsEventbus

References