Queue
SQS/Service Bus queue/Pub/Sub.
class: Messaging
Realizing resources
aws aws
| resource | scope | enumerate | required 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
| resource | scope | enumerate | required permissions |
|---|---|---|---|
gcp:cloudtasks:queue |
regional | cloudtasks.projects.locations.queues.list |
cloudtasks.queues.list |
azure azure
| resource | scope | enumerate | required permissions |
|---|---|---|---|
azure:servicebus:namespace |
global | arg:microsoft.servicebus/namespaces |
Microsoft.ServiceBus/namespaces/read |
As edge source
As edge target
Exposure sites
aws-accessanalyzer-finding-details-metadataaws-appflow-flow-data-destinationaws-athena-query-result-rowsaws-backup-recovery-point-restored-contentaws-bedrock-runtime-prompt-response-payloadaws-cloudfront-key-value-store-valueaws-cloudtrail-event-data-store-query-resultsaws-cloudtrail-event-request-response-payload
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.
aws
CanTriggerkafka-cluster:ReadData grants IAM-level consume permission from the target MSK topic, enabling data-plane read of message contents.
aws
CanReadDatakafka-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.
aws
CanWriteDataAn MSK Replicator reading from a source cluster with kafka-cluster:ReadData permission enables cross-cluster/cross-account data exfiltration of message contents.
aws
CanReadDataAn 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.
aws
CanReadDatasqs: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.
aws
CanWriteDataModify 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
CanModifyConfigurationAzure 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
CanReadDataAzure Event Hubs Data Sender role (or equivalent custom role) grants send (publish) access to an event hub; feeds messaging-chains trigger primitive.
azure
CanWriteDataA Service Bus queue with active entity-level SAS authorization rules embeds queue-scoped connection-string credentials usable at data-plane without Entra RBAC.
azure
ContainsSecretA 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.
azure
CanTriggerA confirmed event-source binding from a Service Bus topic subscription to a compute consumer - fan-out trigger fact.
azure
CanTriggerStorage Queue Data Reader/Message Processor grants queue message read - messages may carry SAS tokens, connection strings, or other credentials.
azure
CanReadDataStorage Queue Data Contributor/Message Processor grants queue message write - enabling message poisoning of queues consumed by Functions/Logic Apps with SYSTEM identity.
azure
CanWriteDataA 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).
gcp
CanTriggerpubsub.subscriptions.setIamPolicy allows rewriting the subscription IAM policy, enabling self-grant of pubsub.subscriptions.consume for credential/secret extraction via credential-chains.
gcp
CanModifyPolicypubsub.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.
gcp
CanReadDatapubsub.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.
gcp
CanExecuteAscloudtasks.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.
gcp
CanPassIdentityA 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.
gcp
CanTriggercloudtasks.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.
gcp
CanReadDatacloudtasks.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.