Posted by Martijn Grooten on May 31, 2018
The first line of defence in many a spam filter is to query one or more DNS blacklists to see if the sender's IP address (and sometimes their domain) is listed as a known spammer.
As the name suggests, a DNS blacklist is queried over DNS: to do a lookup for the IP address 18.104.22.168 on the hypothetical 'example.com' blacklist, a spam filter would query the domain 22.214.171.124.example.com. Typically, a listing would result in a response like 127.0.0.*, where the final octet provides more details about the kind of listing, but in practice any non-empty response will be interpreted as a listing.
If the IP address isn't listed, the blacklist responds to say it can't find the domain; in DNS speak, it returns 'NXDOMAIN'.
Major blacklists like Spamhaus and SORBS are well known within the security community, but there are in fact dozens of public blacklists used in spam filters all over the world. Most email security products provide the option to add extra blacklists to enhance the product's ability to detect spam.
One such blacklist was SpamCannibal. I say 'was', because the blacklist ceased its activities last summer and was no longer responding to DNS queries. That isn't great, but unless your email security set-up relied solely on this blacklist, probably not a huge deal.
The situation changed in the early hours of yesterday, however, when the SpamCannibal domain expired. As is typical in the takeover of expired domains, it was pointed to a dodgy-looking (but not necessarily malicious) parking site. What was worse – though again not uncommon – was that a wildcard DNS was pointed to this parking site.
In practice, this meant that any query to SpamCannibal's blacklist returned the same positive response, leading spam filters to believe the queried IP address was blacklisted.
It is unclear how many people and organizations were still using SpamCannibal, but the number is unlikely to have been very large. Nevertheless, the situation provides some useful lessons for the email security community.
If you are using someone else's blacklist, you should check whether it supports 'health checks', and if it does, perform a health check regularly. This can be done simply by confirming that the IP address 127.0.0.1 isn't listed, but 127.0.0.2 is.
If you are running a blacklist and aren't able to continue supporting it, consider donating the domain to another organization working in the email security space. At the very least, they should be able to prevent the domain registration from expiring.
As for SpamCannibal, whoever ran it did at least manage to reclaim ownership of the domain. It still isn't responding to any queries to its blacklist, but that is a lot better than responding to all queries.