Overview
Launch templates should not allow a metadata hop count greater than 1 when source/destination check is disabled.
This ensures that containers or other VMs cannot access the metadata service of the instance.
Remediation guidance
- Open the Launch Template in the AWS Console using the dedicated button
- From the actions menu select
Modify template (Create new version) - Scroll down to and expand
Advanced details - Scroll down to
Metadata response hop limitand set it to1 - Click
Create template version - Use the new launch template version instead of the old one
- Delete the old template version
Multiple Remediation Paths
AWS
SERVICE-WIDE (RECOMMENDED when many resources are affected): Deploy centralized guardrails and remediation using AWS Config Conformance Packs and (if applicable) AWS Organizations SCPs.
aws configservice put-organization-conformance-pack --organization-conformance-pack-name <pack-name> --template-s3-uri s3://<bucket>/<template>.yaml
ASSET-LEVEL: Apply the resource-specific remediation steps above to only the affected assets.
PREVENTIVE: Add CI/CD policy checks (CloudFormation/Terraform validation) before deployment to prevent recurrence.
References for Service-Wide Patterns
- AWS Config Conformance Packs: https://docs.aws.amazon.com/config/latest/developerguide/conformance-packs.html
- AWS Organizations SCP examples: https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_examples.html
Operational Rollout Workflow
Use this sequence to reduce risk and avoid repeated drift.
1. Contain at Service-Wide Scope First (Recommended)
- AWS: deploy/adjust organization conformance packs and policy guardrails.
aws configservice put-organization-conformance-pack --organization-conformance-pack-name <pack-name> --template-s3-uri s3://<bucket>/<template>.yaml
2. Remediate Existing Affected Assets
- Execute the control-specific Console/CLI steps documented above for each flagged resource.
- Prioritize internet-exposed and production assets first.
3. Validate and Prevent Recurrence
- Re-scan after each remediation batch.
- Track exceptions with owner and expiry date.
- Add preventive checks in IaC/CI pipelines.
Query logic
These are the stored checks tied to this control.
AWS Launch Templates with Hop Count Greater than 1
Connectors
Covered asset types
Expected check: eq []
{
launchTemplateVersions(
where: { metadataOptionHTTPPutResponseHopLimit_GT: 1 }
) {...AssetFragment}
}
AWS