An issue has been found in PowerDNS allowing a remote, unauthenticated attacker to cause an abnormal CPU usage load on the PowerDNS server by sending crafted DNS queries, which might result in a partial denial of service if the system becomes overloaded. This issue is based on the fact that the PowerDNS server parses all records present in a query regardless of whether they are needed or even legitimate. A specially crafted query containing a large number of records can be used to take advantage of that behaviour. This issue has been assigned CVE-2016-7068.
PowerDNS Authoritative Server up to and including 3.4.10 and 4.0.1 are affected. PowerDNS Recursor up to and including 3.7.3 and 4.0.3 are affected.
dnsdist can be used to block crafted queries, using
RecordsCountRule()
and RecordsTypeCountRule()
to block queries
with crafted records.
For those unable to upgrade to a new version, a minimal patch is available
We would like to thank Florian Heinz and Martin Kluge for finding and subsequently reporting this issue.