You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**Potential Impact**: Disruption of cost allocation, resource tracking, and tag-based access control policies.
73
73
74
+
### `states:UpdateStateMachine`
75
+
76
+
This permission allows an attacker to **modify the logic of an existing state machine**. By injecting malicious logic into the state definition, the attacker could:
77
+
78
+
- Add a **new state** that exfiltrates input/output to an external system (via Lambda or SNS).
79
+
-**Bypass security checks**, skip validation steps, or disable error handling.
80
+
-**Insert a logic bomb** that triggers under specific input conditions to disrupt execution.
81
+
82
+
This attack can be subtle, blending into large state definitions, and may go unnoticed without strict ASL version control.
-**Potential Impact**: Data exfiltration, disruption of logic flow, persistent access through hidden states.
114
+
115
+
---
116
+
117
+
### `states:StartExecution`
118
+
119
+
With this permission, an attacker can **trigger executions on demand**, passing arbitrary input to state machines. This allows:
120
+
121
+
-**Triggering sensitive operations** (e.g., Lambda invocations, EC2 actions) if the workflow handles them.
122
+
-**Supplying attacker-controlled input** to abuse poorly validated states.
123
+
-**Recon of business logic** by probing execution responses or failures.
124
+
125
+
Used with `states:GetExecutionHistory`, it becomes a powerful tool for **logic discovery**, **abuse**, or **command execution** through embedded Lambdas or activities.
126
+
127
+
```bash
128
+
aws stepfunctions start-execution \
129
+
--state-machine-arn <value> \
130
+
--name "backdoor-$(date +%s)" \
131
+
--input '{"command":"whoami"}'
132
+
```
133
+
134
+
-**Potential Impact**: Unauthorized triggering of sensitive workflows, business logic abuse, stealthy persistence (can be cron-triggered via EventBridge).
0 commit comments