diff --git a/CHANGELOG b/CHANGELOG index 2d46ae4..713b785 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -32,6 +32,38 @@ version 2.90 --filter-rr=ANY has a special meaning: it filters the answers to queries for the ANY RR-type. + Add limits on the resources used to do DNSSEC validation. + DNSSEC introduces a potential CPU DoS, because a crafted domain + can force a validator to a large number of cryptographic + operations whilst attempting to do validation. When using TCP + transport a DNSKEY RRset contain thousands of members and any + RRset can have thousands of signatures. The potential number + of signature validations to follow the RFC for validation + for one RRset is the cross product of the keys and signatures, + so millions. In practice, the actual numbers are much lower, + so attacks can be mitigated by limiting the amount of + cryptographic "work" to a much lower amount. The actual + limits are number a signature validation fails per RRset(20), + number of signature validations and hash computations + per query(200), number of sub-queries to fetch DS and DNSKEY + RRsets per query(40), and the number of iterations in a + NSEC3 record(150). These values are sensible, but there is, as yet, + no standardisation on the values for a "conforming" domain, so a + new option --dnssec-limit is provided should they need to be altered. + The algorithm to validate DS records has also been altered to reduce + the maximum work from cross product of the number of DS records and + number of DNSKEYs to the cross product of the number of DS records + and supported DS digest types. As the number of DS digest types + is in single figures, this reduces the exposure. + + Credit is due to Elias Heftrig, Haya Schulmann, Niklas Vogel, + and Michael Waidner from the German National Research Center for + Applied Cybersecurity ATHENE for finding this vulnerability. + + CVE 2023-50387 and CVE 2023-50868 apply. + Note that the is a security vulnerablity only when DNSSEC validation + is enabled. + version 2.89 Fix bug introduced in 2.88 (commit fe91134b) which can result