Operational Notification: DNSSEC key deletion may create broken NSEC and NSEC3 chains and unnecessary RRSIGs

Michael McNally mcnally at isc.org
Fri Nov 30 19:35:43 UTC 2018


Posting date:        30 November 2018
Program Impacted:    BIND

Versions affected:   9.9.13- > 9.9.13-P1, 9.10.8 -> 9.10.8-P1,
                     9.11.4 -> 9.11.5, 9.12.2 -> 9.12.3.
                     Also versions 9.13.1 -> 9.13.4 of the
                     9.13 development branch.
Description:

   Code change #4964, intended to prevent double signatures when
   deleting an inactive zone DNSKEY in some situations, introduced
   a new problem during zone processing in which some delegation
   glue RRsets are incorrectly identified as needing RRSIGs, which
   are then created for them using the current active ZSK for the
   zone. In some, but not all cases, the newly-signed RRsets are
   added to the zone's NSEC/NSEC3 chain, but incompletely -- this
   can result in a broken chain, affecting validation of proof of
   nonexistence for records in the zone.

Impact:

   A version of BIND which is affected by this defect may cause
   several related problems when maintaining DNSSEC-signed zones.
   Note: the errors described here occur during the process of
   signature maintenance; only servers which are signing
   (or re-signing) DNSSEC-signed zones are directly affected.

   1) improper signing of glue records: we believe the unnecessary
      signatures generated for the glue records should not cause
      problems for validating resolvers (although some DNSSEC
      validity checkers may highlight them as an issue.) BIND pays
      no attention to these specific signatures and we believe that
      the same is likely true of other validating resolvers.

   2) broken NSEC/NSEC3 chains: in some (but not all) cases the
      improperly-signed glue records can be added to the zone's
      NSEC/NSEC3 chain, resulting in a broken chain. Any broken
      NSEC or NSEC3 chain may cause DNSSEC validation of negative
      responses from an affected zone to fail. For example, instead
      of returning an NXDOMAIN response which is properly validated,
      a resolver may instead return a SERVFAIL response to the client.

   3) missing secure proof of insecure delegation when using NSEC3 opt-out:
      the impact of any broken NSEC3 chains can be more severe where
      NSEC3 is used with OPTOUT, in which case the negative responses
      that cannot be DNSSEC-validated may also include some that
      should prove non-existence of DS RRs. This can result in
      validating resolvers returning SERVFAIL responses to clients
      for entire subdomains whose delegation status cannot be
      verified, and thus are treated as bogus.

Workarounds:

   Until replacement versions of BIND are made available which
   contain a fix for the bug, we strongly recommend not removing
   any keys which are present for a zone, irrespective of whether
   they are currently active. If you are in the process of rolling
   keys we recommend that you deactivate any obsolete keys but do
   not delete them from the DNSKEY RRset.

Solution:

   ISC plans to release patched versions of BIND which correct the
   signature maintenance issues introduced in change #4964 but they
   must first be created, put through our internal testing, and
   only then released to the public. In the meantime we have chosen to
   issue this Operational Notification to warn those who are signing
   their domains about the potential problem. Until the patched
   replacement releases are available we recommend following the
   advice in the "Workarounds" section.

Do you still have questions? Questions regarding this advisory
should go to security-officer at isc.org. To report a new issue, please
encrypt your message using security-officer at isc.org's PGP key which
can be found here:
   https://www.isc.org/downloads/software-support-policy/openpgp-key/.
If you are unable to use encrypted email, you may also report new
issues at: https://www.isc.org/community/report-bug/.

Note:

   ISC patches only currently supported versions. When possible we
   indicate EOL versions affected. (For current information on which
   versions are actively supported, please see
https://www.isc.org/downloads)

ISC Security Vulnerability Disclosure Policy:

   Details of our current security advisory policy and practice can
   be found here:  https://kb.isc.org/docs/aa-00861

This Knowledgebase article is the complete and official security
advisory document:


https://kb.isc.org/docs/dnssec-key-deletion-may-create-broken-nsec-and-nsec3-chains-and-unnecessary-rrsigs

Legal Disclaimer:

   Internet Systems Consortium (ISC) is providing this notice on
   an "AS IS" basis. No warranty or guarantee of any kind is expressed
   in this notice and none should be implied. ISC expressly excludes
   and disclaims any warranties regarding this notice or materials
   referred to in this notice, including, without limitation, any
   implied warranty of merchantability, fitness for a particular
   purpose, absence of hidden defects, or of non-infringement. Your
   use or reliance on this notice or materials referred to in this
   notice is at your own risk. ISC may change this notice at any
   time. A stand-alone copy or paraphrase of the text of this
   document that omits the document URL is an uncontrolled copy.
   Uncontrolled copies may lack important information, be out of
   date, or contain factual errors.


More information about the bind-announce mailing list