Check ID:
Provider: AWS
Service:
Severity: HIGH
Categories:
Resource type:
route53_dangling_ip_subdomain_takeoverProvider: AWS
Service:
route53Severity: HIGH
Categories:
internet-exposedResource type:
AwsRoute53HostedZoneWhat this check verifies
Route 53A records (non-alias) that use literal IPs are evaluated for public AWS addresses not currently assigned to resources in the account. Entries that match AWS ranges yet lack ownership are identified as potential dangling IP targets.
Risk
Dangling DNSA records pointing to released AWS IPs enable subdomain takeover. An attacker who later obtains that IP can:
- Redirect or alter content (integrity)
- Capture credentials/cookies (confidentiality)
- Disrupt or impersonate services (availability)
Recommendation
Remove or update any record that points to an unassigned IP. Avoid hard-coding AWS public IPs inA records; use aliases/CNAMEs to managed endpoints. Enforce asset lifecycle decommissioning, routine DNS-asset reconciliation, and change control with monitoring to prevent and detect drift.
Remediation
- CLI
- Terraform
- Native IaC
- Dashboard steps
References
- https://support.icompaas.com/support/solutions/articles/62000233461-ensure-route53-records-contains-dangling-ips-
- https://www.trendmicro.com/trendaivisiononecloudriskmanagement/knowledge-base/aws/Route53/dangling-dns-records.html
- https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-deleting.html
Where this check fires
This check runs on every scheduled scan against your AWS account. Findings appear at Cloud Security → Findings filterable byCheck ID = route53_dangling_ip_subdomain_takeover. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to AWS checks