1 1.1 christos .. Copyright (C) Internet Systems Consortium, Inc. ("ISC") 2 1.1 christos .. 3 1.1 christos .. SPDX-License-Identifier: MPL-2.0 4 1.1 christos .. 5 1.1 christos .. This Source Code Form is subject to the terms of the Mozilla Public 6 1.1 christos .. License, v. 2.0. If a copy of the MPL was not distributed with this 7 1.1 christos .. file, you can obtain one at https://mozilla.org/MPL/2.0/. 8 1.1 christos .. 9 1.1 christos .. See the COPYRIGHT file distributed with this work for additional 10 1.1 christos .. information regarding copyright ownership. 11 1.1 christos 12 1.1 christos Notes for BIND 9.20.27 13 1.1 christos ---------------------- 14 1.1 christos 15 1.1 christos New Features 16 1.1 christos ~~~~~~~~~~~~ 17 1.1 christos 18 1.1 christos - Disclose active Negative Trust Anchors with Extended DNS Error 33. 19 1.1 christos 20 1.1 christos A Negative Trust Anchor (:rfc:`7646`) turns off DNSSEC validation for 21 1.1 christos a domain, so a name that would normally fail validation resolves 22 1.1 christos instead. :iscman:`named` now marks such answers with Extended DNS 23 1.1 christos Error code 33, "Negative Trust Anchor", so operators can see at a 24 1.1 christos glance when a response came back only because an NTA was in effect. 25 1.1 christos :gl:`#6268` 26 1.1 christos 27 1.1 christos Feature Changes 28 1.1 christos ~~~~~~~~~~~~~~~ 29 1.1 christos 30 1.1 christos - Speed up RPZ policy zone updates. 31 1.1 christos 32 1.1 christos RPZ updates used to be applied one small step at a time, adding 33 1.1 christos overhead on large policy zones. Updates are now applied as a single 34 1.1 christos batch, improving update performance for large RPZ zones, at the cost 35 1.1 christos of no longer overlapping with concurrent updates. :gl:`#5787` 36 1.1 christos :gl:`#6270` 37 1.1 christos 38 1.1 christos Bug Fixes 39 1.1 christos ~~~~~~~~~ 40 1.1 christos 41 1.1 christos - Ensure NSEC authority does not cross zonecut boundary. 42 1.1 christos 43 1.1 christos When using a cached NSEC record to prove that a delegation is 44 1.1 christos insecure, :iscman:`named` now checks that the signer name in the 45 1.1 christos corresponding RRSIG is not above a known secure delegation point. 46 1.1 christos This prevents a signed namespace from being downgraded to insecure 47 1.1 christos using an NSEC record from the grandparent zone. :gl:`#5967` 48 1.1 christos 49 1.1 christos - Treat an unusable NSEC3 chain as a verification failure. 50 1.1 christos 51 1.1 christos When transferring in a mirror zone, DNSSEC verification could 52 1.1 christos incorrectly succeed when the zone had an invalid NSEC3PARAM record, 53 1.1 christos leading to subsequent validation failures. This has been fixed. 54 1.1 christos :gl:`#6136` 55 1.1 christos 56 1.1 christos - Treat non-canonical RPZ prefixes as any other failure. 57 1.1 christos 58 1.1 christos RPZ prefixes that were not encoded in canonical form did not work. 59 1.1 christos They are now handled in the same way as any other encoding error. :gl:`#6043` 60 1.1 christos 61 1.1 christos - Negative caching stopped working with stale-answer-client-timeout set 62 1.1 christos to ``0``. 63 1.1 christos 64 1.1 christos Negative answers were re-fetched on every query instead of once they 65 1.1 christos actually expired, effectively disabling negative caching. This has 66 1.1 christos been fixed. :gl:`#6245` 67 1.1 christos 68 1.1 christos - An unterminated OpenSSL private-key ``Label:`` field could be read past 69 1.1 christos its parser buffer. 70 1.1 christos 71 1.1 christos The ``Label:`` field in a ``.private`` key file is now checked for 72 1.1 christos length and NUL-termination. Malformed files are rejected. :gl:`#6193` 73 1.1 christos 74 1.1 christos - Restore SMF support on Solaris and illumos. :gl:`#6096` 75 1.1 christos 76 1.1 christos - Fix compilation on GNU/Hurd. :gl:`#6285` 77 1.1 christos 78 1.1 christos - :option:`dig +yaml` was producing invalid YAML when a lookup failed. 79 1.1 christos 80 1.1 christos When no server could be reached, :iscman:`dig` printed its 81 1.1 christos plain-text startup banner ahead of the YAML output, making the 82 1.1 christos result unparsable. :iscman:`dig` no longer does this and correctly 83 1.1 christos reflects options such as ``+nocmd``, ``+short`` and ``+yaml``, 84 1.1 christos regardless of where they appear on the command line. :gl:`#1230` 85 1.1 christos 86 1.1 christos - Properly prevent TSIG generation command line injection attacks. 87 1.1 christos 88 1.1 christos When key names are generated with :iscman:`rndc-confgen`, 89 1.1 christos :iscman:`tsig-keygen` and :iscman:`ddns-confgen`, special characters 90 1.1 christos must be escaped to ensure that the configuration is parsed correctly. 91 1.1 christos :gl:`#6071` 92 1.1 christos 93 1.1 christos - Fix a potential heap bounds overflow write in :iscman:`dnssec-signzone`. 94 1.1 christos 95 1.1 christos It was possible for :iscman:`dnssec-signzone` to overflow array 96 1.1 christos bounds while signing. This has been fixed. :gl:`#6076` 97 1.1 christos 98 1.1 christos - Fix crashes on invalid DNSTAP input in :iscman:`dnstap-read`. 99 1.1 christos 100 1.1 christos Malformed DNSTAP files could trigger a NULL pointer dereference or an 101 1.1 christos out-of-bounds memory read in :iscman:`dnstap-read`. This has been 102 1.1 christos fixed. :gl:`#6077` :gl:`#6124` 103