SEPTEMBER 2, 2026

33 S&P 500 Companies Have a Confirmed, Live Subdomain-Takeover Vulnerability — 94% Have No Bounty Program

A dangling CNAME pointing at an unclaimed cloud resource (Azure, WP Engine, GitHub Pages, Unbounce, Heroku, Netlify, Fastly) is one of the most consequential findings a passive recon scan can produce. We confirmed 76 of these live right now across 33 companies. 31 of them have no bounty program.

33 S&P 500 Companies Have a Confirmed, Live Subdomain-Takeover Vulnerability — 94% Have No Bounty Program

A dangling CNAME isn't a theoretical risk — it's a subdomain pointing at a cloud service (Azure, WP Engine, GitHub Pages, Unbounce, Heroku, Netlify, Fastly) that nobody has claimed. We confirmed 76 of these live right now across the S&P 500, on 33 companies. 31 of them have no bounty program.

NullBlocks Research — September 2026


Twelve prior reports in this series have each picked one exposure class — GraphQL introspection, Wayback-archived legacy pages, version-matched critical CVEs, database/admin ports, expired TLS certs, reverse-WHOIS sister domains, missing HSTS, missing clickjacking defenses, exposed FTP servers, exposed legacy mail ports, CORS wildcard-plus-credentials — and matched it against real bug-bounty coverage. This thirteenth report goes back to the class the very first report in the series (bug-bounty-coverage-gap) flagged in passing but never quantified on its own: confirmed subdomain takeover, arguably the single most consequential finding class a passive recon scan can produce, because it can be turned into a working exploit with zero authentication and near-total attacker control of the subdomain's content.

Methodology, up front

domrecon resolves the CNAME chain for every subdomain in the index and checks whether the CNAME target belongs to a known cloud/PaaS provider (Azure, AWS S3, GitHub Pages, WP Engine, Shopify, Zendesk, Unbounce, Heroku, Netlify, Fastly, Pantheon, Vercel, Ghost) with a documented "unclaimed resource" fingerprint. A dangling subdomain is flagged confirmed only when we observe the actual claim-page or 404 fingerprint that provider serves for an unclaimed resource on the live HTTP response — e.g. WP Engine's "The site you were looking for couldn't be found" page, not just a NXDOMAIN or a generic 404. That fingerprint match is what separates a confirmed takeover candidate (this report) from the much larger set of dangling CNAMEs that resolve to something but haven't been positively fingerprinted as literally unclaimed (3,584 additional HIGH-severity, unconfirmed candidates sit in the same table — we did not count those here).

We did not register any of these subdomains, claim any resource, or serve any content. This is a passive DNS/HTTP observation only, the same free-tier scan any domrecon user gets by entering a domain.

1. 33 companies, 76 confirmed dangling CNAMEs, seven different providers

Provider Confirmed findings Companies affected
Azure 28 17
WP Engine 18 2
GitHub Pages 13 3
Unbounce 8 4
Heroku 4 2
Netlify 3 3
Fastly 2 2

Azure spreads the widest — 17 different companies with at least one confirmed dangling Azure CNAME — but the deepest single-company exposure belongs to Veeva Systems: 16 separate subdomains (da., engage., university., re., investor., neighborhood., and ten more) all pointing at the same unclaimed veevprod.wpengine.com WP Engine target. Any one of those sixteen hostnames is claimable today by registering that WP Engine site name — at which point the attacker controls content served under Veeva's own domain, with all the trust (and any stale cookies, CSP allowances, or SSO redirect rules) that implies.

Company Confirmed findings Provider(s)
Veeva Systems 16 WP Engine
github.com¹ 10 GitHub Pages
Honeywell 5 Azure
PPG Industries 3 Azure
Allegion 3 Azure
FactSet 3 Heroku
Sherwin-Williams 3 Unbounce
Xcel Energy 2 Unbounce
Emerson Electric 2 Unbounce
United Parcel Service 2 Azure
Ecolab 2 Azure
Cardinal Health 2 WP Engine
Schlumberger 2 Azure
CVS Health 2 GitHub Pages

¹ github.com is a data-quality artifact from our onboarding pipeline (a placeholder company row with primary_domain = github.com, not an actual S&P 500 constituent) — excluded from the "no bounty" analysis below since it isn't a real company in the index, though the ten confirmed *.github.io-CNAME findings under it are real DNS records worth noting for anyone auditing GitHub Pages-hosted subdomains generally.

2. 31 of the 32 real companies affected (96.9%) have zero matched HackerOne bounty coverage

Excluding the github.com placeholder row, 32 real S&P 500 constituents have at least one confirmed dangling CNAME. Only Starbucks has matched HackerOne bounty coverage; the other 31 — including Honeywell, PPG Industries, Sherwin-Williams, United Parcel Service, CVS Health, Boeing, McKesson, and Medtronic — have no visible channel for a researcher to report a live, exploitable takeover if they find one.

That's the same structural gap this series has now documented thirteen times, but this is the report where the gap matters most: subdomain takeover is the one class in this whole series where "no bounty program" doesn't just mean "no reward" — it means there's no clear, sanctioned path to disclose a vulnerability that, unpatched, is actively claimable by anyone else who notices it first.

3. What this does and doesn't mean

A confirmed flag in our data means the live HTTP response at that hostname matches the specific fingerprint the target provider serves for an unclaimed resource — it is not, by itself, proof that we (or anyone else) have registered the resource and taken control of the subdomain. We deliberately stopped at observation. What it does establish: the technical precondition for takeover is live, unpatched, and has been for long enough to be picked up by a routine recon scan — on infrastructure belonging to companies with combined market caps in the hundreds of billions.

Why this matters if you do attack-surface work for a living

Subdomain takeover is one of the few bug classes where a five-minute verification (attempt to register the target resource on the relevant platform, confirm you can serve content under the victim's subdomain, then immediately release/report it) produces unambiguous proof of impact — no authentication bypass, no payload crafting, just DNS pointing somewhere nobody owns. If you're a bug-bounty hunter, this is usually the highest signal-to-effort finding in the whole recon phase. If you run a security practice for clients, knowing which CNAMEs are dangling — continuously, not as a one-off audit, since new ones appear every time a marketing team spins up and tears down a landing-page tool — is exactly the kind of finding that's easy to miss between engagements. That's the gap NullBlocks/DomRecon is built to keep closing automatically — this report used data already sitting in the platform, not a one-off scan built for a blog post.