How to Prevent GitHub Pages CNAME Takeover: Terraform & DNS Remediation
A comprehensive, zero-hallucination security guide to detecting and purging dangling CNAME records pointing to orphaned GitHub Pages assets. Includes verified HTTP response signatures, CVSS attack vectors, and multi-provider Terraform fixes.
Command-Line Verification & Response Fingerprint
Execute this verification probe against your suspected subdomain to confirm if an orphaned GitHub Pages resource is currently unallocated and claimable.
HTTP/1.1 404 Not Found
server: GitHub.com
x-github-request-id: 04A2:2415:10FA2C:19BF8
[Response Token Match: "There isn't a GitHub Pages site here"]Exploitation Risk Matrix & Blast Radius
Dangling DNS records allow adversaries to provision the unclaimed GitHub Pages endpoint and serve arbitrary malicious content under your authoritative domain.
If root session cookies use Domain=.yourcompany.com, the hijacked subdomain automatically receives credentials on incoming requests, bypassing HTTP-only safeguards.
Permissive OAuth callback patterns (e.g. https://*.yourcompany.com/auth/callback) can be routed directly to the attacker-controlled subdomain to harvest auth codes and tokens.
Adversaries can host phishing portals, execute arbitrary JavaScript in the context of your domain origin, and bypass Content Security Policy (CSP) wildcard entries.
Remediation Provider & IaC Switcher
Authoritative DNS deletion commands and infrastructure-as-code manifests to purge dangling GitHub Pages records.
resource "cloudflare_record" "remediated" {
zone_id = var.cloudflare_zone_id
name = "subdomain"
type = "CNAME"
content = "active-service.example.com"
proxied = true
ttl = 1
}Authoritative Remediation Protocol
- 1Remove the CNAME record pointing to *.github.io from your DNS zone.
- 2Verify your domain in your GitHub organization settings under "Custom domain verification" with a TXT record.
- 3Enforce HTTPS and ensure your repository maintains a CNAME file specifying the subdomain.
Live GitHub Pages CNAME Pattern Matcher
Paste any suspicious CNAME destination to test if it resolves to an unlinked or vulnerable GitHub Pages endpoint.
RFC Citations & Technical Standards
Scan Your Attack Surface for Dangling GitHub Pages Records
SubDomainWatch continuously enumerates DNS zones, evaluates CNAME chains with recursive unwrap, and probes HTTP response bodies to catch orphan assets before attackers do.