Recursively dump SSM SecureString path
Can recursively dump every SecureString parameter under this path in one call.
Grants escalation on its own.
ssm:GetParametersByPathOn its own, ssm:GetParametersByPath can recursively dump every SecureString parameter under this path in one call. On a wide resource scope that alone reaches the data itself.
Why it is dangerous
A principal can call ssm:GetParametersByPath --recursive --with-decryption to read SecureString the parameter together with every other parameter beneath its path, in a single API call. This is authorised independently of ssm:GetParameter, so a principal holding only GetParametersByPath can dump an entire credential tree even where GetParameter is denied, and it needs no prior knowledge of parameter names.
In MITRE ATT&CK terms this maps to T1555.006, Credentials from Password Stores: Cloud Secrets Management Stores, under the credential access tactic. AWS records it in CloudTrail as GetParametersByPath. The call is quiet against normal activity, so it is easy to miss without a rule for it.
Detection
GetParametersByPathPrerequisites
ssm:GetParametersByPath on the parameter path and kms:Decrypt on its encrypting key.
Tactic
Credential Access
A control that would remove it: Restrict ssm:GetParametersByPath - it is NOT covered by denying ssm:GetParameter - and scope it to a narrow path prefix.
Whether to apply it depends on how the permission is used in your environment, so it is a business decision rather than an automatic fix. The same permission can be load-bearing in one account and pure risk in another.
Pathbreak confirms whether this path resolves in your account, ranks it against the others by how much it opens up, and uses your threat model and business context to show which paths are worth cutting.
Questions
What does ssm:GetParametersByPath allow?
Can recursively dump every SecureString parameter under this path in one call.
Can ssm:GetParametersByPath escalate privileges on its own?
Yes. Held on a broad enough resource it reaches the data itself with no other permission.
How is recursively dump SSM SecureString path detected?
Watch for GetParametersByPath in CloudTrail. The call is quiet against normal activity, so it is easy to miss without a rule for it.
How do you break this path?
A control that would remove it is: Restrict ssm:GetParametersByPath - it is NOT covered by denying ssm:GetParameter - and scope it to a narrow path prefix. Whether to apply it depends on how the permission is used in your account, so it is a business decision rather than an automatic fix.
Which MITRE ATT&CK technique is this?
T1555.006, Credentials from Password Stores: Cloud Secrets Management Stores, under the credential access tactic.
Related paths
References
Find this in your own account
We run a read-only scan of one AWS account and show you which of these paths exist, ranked by blast radius, with the change that breaks each one. First validated paths within the hour.