Operational Notification: "update-policy local" was named misleadingly and could permit non-local DDNS updates
  • 29 Oct 2018
  • 3 Minutes to read
  • Contributors
  • Dark
    Light
  • PDF

Operational Notification: "update-policy local" was named misleadingly and could permit non-local DDNS updates

  • Dark
    Light
  • PDF

Article Summary

Posting date: 14 March 2018

Program impactedBIND

Versions affected: 9.0.x -> 9.8.x, 9.9.0->9.9.11-P1, 9.10.0->9.10.6-P1, 9.11.0->9.11.2-P1, 9.12.0->9.12.0-P1

Description

"update-policy local;", which is a permission cluster provided as a shortcut for operators who use Dynamic DNS (DDNS), was misleadingly named in that its original implementation did not actually enforce a requirement that the updates it allows originate locally.

A full description of "update-policy local;" is included in Section 6.2 of the BIND Administrator Reference Manual, but to briefly summarize:

When "update-policy local;" is set for a zone in named.conf, named will create and use an automatically generated session key (named "local-ddns" by default and stored in local storage on the server) and will permit updates to the zone to any client successfully authenticating using that key.

Since the key is generated and stored locally, in usual cases this should equate to only allowing local updates unless an operator deliberately copies the local-ddns key elsewhere.

However, in June 2017 disclosed CVE-2017-3143, a flaw in TSIG authentication which enabled an attacker who was able to send and receive messages to an authoritative DNS server and who had knowledge of a valid TSIG key name for the zone and service being targeted to manipulate BIND into accepting an unauthorized dynamic update. In our disclosure for CVE-2017-3143 we warned of its potential interaction with the behavior of update-policy local. By policy, however, ISC prefers security releases to contain only the minimal fix required to prevent the exploitable condition. Therefore, security patch releases for CVE-2017-3143 fixed only the TSIG authentication flaw without changing the behavior of the "update-policy local;" feature.

Beginning with the March 2018 maintenance releases of BIND (9.9.12, 9.10.7, 9.11.3, and 9.12.1), the behavior of "update-policy local" is now changed so that updates are permitted under the policy only when they are received from locally configured addresses and use the local session key. 

Impact:

We think it is unlikely that many operators are deliberately relying on the non-local option of the previous behavior (and we recommend against it) but if any are, please see the "Workarounds" section of this advisory for advice on how to replicate the previous behavior.  For all other operators (those who were not relying on the non-local side-effect of the previous behavior), the new behavior should represent an improvement in DDNS security if you use the local update policy.

Workarounds:

The change in "update-policy local;" behavior which debuts in the March 2018 maintenance releases should improve security by properly restricting updates to only those that are received from locally configured addresses and are authenticated using the local session key. However, in the event that an operator was deliberately relying on the non-local option of the previous behavior, behavior equivalent to the previous behavior of "update-policy local;" can be produced by using this syntax:  "update-policy { grant local-ddns zonesub any; };"

Solution

Software versions which enforce the corrected, more restrictive behavior are now available from our downloads page, http://www.isc.org/downloads/.

  • BIND 9 version 9.9.12
  • BIND 9 version 9.10.7
  • BIND 9 version 9.11.3
  • BIND 9 version 9.12.1

Do you still have questions? Questions regarding this advisory should go to security-officer@isc.orgTo report a new issue, please encrypt your message using security-officer@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: ISC Software Defect and Security Vulnerability Disclosure Policy.

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

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.