notes-9.20.27.rst revision 1.1 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