What it looks like
A subdomain on your domain has a CNAME record pointing at appname.herokuapp.com or a herokudns.com target, and loading that subdomain returns Heroku's unclaimed page rather than a working site. The visible signature is a page containing text along the lines of "No such app".
Both signals are needed. A CNAME pointing at Heroku is completely normal when the service is in use. It only matters when the target is no longer claimed.
Why it can be taken over
Heroku app names are released when an app is deleted and can be created again by any account. A subdomain pointing at a deleted app can be captured by creating an app with the same name.
What an attacker gets
- Content served from your subdomain, on your domain, usually with a valid certificate that Heroku issues automatically.
- A phishing address that passes every check a cautious person would run, because it genuinely is your domain.
- Access to any cookie your main site scopes to the parent domain, which can include session data.
How to fix it
Delete the DNS record. If the app still exists but was renamed, update the record to the new target rather than leaving the old one.
The full removal steps for any provider are in the dangling record guide.
Stopping the next one
These appear whenever a hosted service is trialled and dropped, so a single cleanup does not settle it. The habit worth building is deleting the DNS record in the same sitting as the cancellation, because those are separate actions and only one of them is on anyone's mind.