Operational Notification: "update-policy local" was named misleadingly and could permit non-local DDNS updates
Michael McNally
mcnally at isc.org
Wed Mar 14 18:52:24 UTC 2018
Posting date: 14 March 2018
Program Impacted: BIND
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/all.
- 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 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
http://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/article/AA-00861
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.
(c) 2001-2018 Internet Systems Consortium
More information about the bind-announce
mailing list