Check ID:
Provider: Cloudflare
Service:
Severity: HIGH
Categories:
Resource type:
dns_record_no_internal_ipProvider: Cloudflare
Service:
dnsSeverity: HIGH
Categories:
internet-exposedResource type:
DNSRecordWhat this check verifies
Cloudflare DNS records are assessed for internal IP exposure by checking if A or AAAA records point to private, loopback, or reserved IP addresses which could leak internal network structure.Risk
DNS records exposing internal IP addresses leak sensitive network information.- Confidentiality: reveals internal network topology and addressing schemes to attackers
- Integrity: provides reconnaissance data for targeted attacks on internal infrastructure
- Availability: internal IPs in public DNS may indicate misconfiguration affecting service routing
Recommendation
Remove internal IP addresses from public DNS records.- Use split-horizon DNS for internal service resolution
- Ensure DNS records only contain publicly routable IP addresses
- Review DNS records after network changes or migrations
- Consider using Cloudflare Access for secure internal service access
Remediation
Dashboard steps- Log in to the Cloudflare dashboard and select your account and domain
- Go to DNS > Records
- Identify A/AAAA records pointing to internal IP addresses
- Update records to point to public IP addresses or remove if not needed
- Use split-horizon DNS if internal resolution is required
References
Where this check fires
This check runs on every scheduled scan against your Cloudflare account. Findings appear at Cloud Security → Findings filterable byCheck ID = dns_record_no_internal_ip. 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 Cloudflare checks