Queue

SQS/Service Bus queue/Pub/Sub.

class: Messaging

Realizing resources

aws aws

resourcescopeenumeraterequired permissions
aws:kinesis:stream regional kinesis:ListStreams kinesis:ListStreams
aws:mq:broker regional mq:ListBrokers mq:ListBrokers
aws:msk:cluster regional msk:ListClustersV2 kafka:ListClustersV2
aws:sqs:queue regional sqs:ListQueues sqs:ListQueues

gcp gcp

resourcescopeenumeraterequired permissions
gcp:cloudtasks:queue regional cloudtasks.projects.locations.queues.list cloudtasks.queues.list

azure azure

resourcescopeenumeraterequired permissions
azure:servicebus:namespace global arg:microsoft.servicebus/namespaces Microsoft.ServiceBus/namespaces/read

Rules that touch Queue 34

A firing EventBridge rule invokes its configured target (Lambda, Step Functions, ECS, SQS, another bus, etc.) with the event payload.
kafka-cluster:ReadData grants IAM-level consume permission from the target MSK topic, enabling data-plane read of message contents.
kafka-cluster:WriteData grants IAM-level produce permission to the target MSK topic; a published message reaches any consumer bound to that topic via an event-source mapping.
An MSK Replicator reading from a source cluster with kafka-cluster:ReadData permission enables cross-cluster/cross-account data exfiltration of message contents.
An SQS queue with Principal:* granting sqs:SendMessage (no condition) is publicly writable; any unauthenticated sender can trigger bound Lambda consumers via messaging-chains.
sqs:ReceiveMessage on a queue is a data-plane read; if the queue carries credentials (ContainsSecret), credential-chains derives CanImpersonate.
sqs:SendMessage on a queue is a data-plane publish: the principal can send attacker-influenced messages that drive event-source consumers. Consumed by messaging-chains.
Modify the Capture configuration of an event hub (eventhubs/write) to redirect the Avro capture stream to an attacker-controlled storage account; all events are then captured to attacker storage.
Azure Event Hubs Data Receiver role (or equivalent) grants receive (listen) access to an event hub or consumer group; event payloads may contain sensitive data → potential CanExfiltrate.
Azure Event Hubs Data Sender role (or equivalent custom role) grants send (publish) access to an event hub; feeds messaging-chains trigger primitive.
A Service Bus queue with active entity-level SAS authorization rules embeds queue-scoped connection-string credentials usable at data-plane without Entra RBAC.
A confirmed event-source binding from a Service Bus queue to a compute consumer (Azure Function serviceBusTrigger, Logic App connector, Container App KEDA scaler) - the Phase-10 binding fact.
A confirmed event-source binding from a Service Bus topic subscription to a compute consumer - fan-out trigger fact.
Storage Queue Data Reader/Message Processor grants queue message read - messages may carry SAS tokens, connection strings, or other credentials.
Storage Queue Data Contributor/Message Processor grants queue message write - enabling message poisoning of queues consumed by Functions/Logic Apps with SYSTEM identity.
A Pub/Sub push subscription delivers a Google-signed OIDC token for its pushConfig.oidcToken.serviceAccountEmail to the push endpoint on every delivery; code at the endpoint can extract and replay the token, exposing the push SA's identity.
An active push subscription binding its topic's messages to an HTTP endpoint (Cloud Run service / Cloud Function URL) makes the subscription an event-source bridge: messages published to the topic are delivered to the consumer. Consumed by messaging-chains to derive CanTrigger(publisher → consumer).
pubsub.subscriptions.setIamPolicy allows rewriting the subscription IAM policy, enabling self-grant of pubsub.subscriptions.consume for credential/secret extraction via credential-chains.
pubsub.subscriptions.consume on a subscription is the data-plane pull action; if the subscription carries credential material, credential-chains derives CanImpersonate. Also an exfiltration path when cross-project.
pubsub.subscriptions.update allows changing the push endpoint URL and push SA (oidcToken.serviceAccountEmail) on a subscription, enabling push-endpoint redirect for data exfiltration or push SA swap for credential exposure.
Re-pointing the queue's OIDC/OAuth token SA (cloudtasks.queues.update + iam.serviceAccounts.actAs) causes every future dispatch to carry a token for the chosen SA - an attacker controlling the consumer endpoint captures the token and exercises the SA's privileges.
cloudtasks.queues.update + iam.serviceAccounts.actAs on a SA allows an attacker to configure that SA as the queue-level OIDC/OAuth token identity - the GCP actAs guard rail for Cloud Tasks queue-SA attachment.
A Cloud Tasks queue with httpTarget.uri (or an App Engine target) dispatches tasks to its configured consumer HTTP endpoint - the event-source binding fact consumed by messaging-chains rule 1.
cloudtasks.tasks.list + cloudtasks.tasks.fullView allow a principal to read full task bodies in a Cloud Tasks queue - the data-plane read primitive that feeds credential-chains when tasks carry credentials.
cloudtasks.queues.update lets an attacker change the queue's httpTarget.uriOverride (redirect all dispatches to an attacker endpoint), httpTarget.oidcToken.serviceAccountEmail (with actAs - swap the token SA), headerOverrides, App Engine routing, or rate limits.
Setting httpTarget.uriOverride to an attacker-controlled endpoint (via cloudtasks.queues.update, no actAs needed) redirects all future dispatches there - delivering the queue's OIDC/OAuth SA token and task body payloads to the attacker.
move · open · esc close