CVE-2018-5738: Some versions of BIND can improperly permit recursive query service to unauthorized clients
Michael McNally
mcnally at isc.org
Tue Jun 12 23:43:08 UTC 2018
Please note that for this vulnerability ISC is not issuing replacement
software releases. Safe, effective, and side-effect-free configuration
workarounds are available for those whose configurations are affected.
The vulnerability will be fixed in upcoming maintenance releases so that
it cannot recur, but until maintenance releases containing the fix are
released we recommend use of any of the options listed in the workarounds
section.
If using the configuration workarounds is impractical for you, you may
request a patch diff containing an advance version of the fix by sending
e-mail to security-officer at isc.org
-----
CVE: CVE-2018-5738
Document Version: 2.0
Posting date: 12 June 2018
Program Impacted: BIND
Versions affected: 9.9.12, 9.10.7, 9.11.3, 9.12.0->9.12.1-P2,
the development release 9.13.0, and also
releases 9.9.12-S1, 9.10.7-S1, 9.11.3-S1,
and 9.11.3-S2 from BIND 9 Supported Preview Edition.
Severity: Medium
Exploitable: Remotely
Description:
Change #4777 (introduced in October 2017) introduced an unforeseen
issue in releases which were issued after that date, affecting
which clients are permitted to make recursive queries to a BIND
nameserver.
The intended (and documented) behavior is that if an operator
has not specified a value for the "allow-recursion" setting, it
SHOULD default to one of the following:
+ none, if "recursion no;" is set in named.conf, or
+ a value inherited from the "allow-query-cache" or "allow-query"
settings IF "recursion yes;" (the default for that setting) AND
match lists are explicitly set for "allow-query-cache" or
"allow-query"
(see the BIND9 Administrative Reference Manual section 6.2 for more
details), or
+ the intended default of "allow-recursion {localhost; localnets;};"
if "recursion yes;" is in effect and no values are explicitly set
for "allow-query-cache" or "allow-query".
However, because of the regression introduced by change #4777,
it is possible when "recursion yes;" is in effect and no match
list values are provided for "allow-query-cache" or "allow-query"
for the setting of "allow-recursion" to inherit a setting of all
hosts from the "allow-query" setting default, improperly permitting
recursion to all clients.
Impact:
There are several potential problems which can be caused by
improperly permitting recursive service to unauthorized clients,
including:
+ Additional queries from unauthorized clients may increase the
load on a server, possibly degrading service to authorized clients.
+ Allowing queries from unauthorized clients can potentially allow
a server to be co-opted for use in DNS reflection attacks.
+ An attacker may be able to deduce which queries a server has
previously serviced by examining the results of queries answered
from the cache, potentially leaking private information about what
queries have been performed.
CVSS Score: 5.3
CVSS Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
For more information on the Common Vulnerability Scoring System and
to obtain your specific environmental score please visit:
https://www.first.org/cvss/calculator/3.0#CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Workarounds:
A number of configuration workarounds are available which
completely avoid the problem.
If an operator has not chosen to specify some other permission,
explicitly specifying "allow-query {localnets; localhost;};" in
named.conf will provide behavior equivalent to the intended
default.
If the default setting is not appropriate (because the operator
wants a different behavior) then depending on which clients are
intended to be able to receive service for recursive queries,
explicitly setting a match list value for any of:
+ allow-recursion
+ allow-query
+ allow-query-cache
will prevent the "allow-recursion" control from improperly
inheriting a setting from the allow-query default. If a value
is set for any of those values the behavior of allow-recursion
will be set directly or inherited from one of the other values
as described in the BIND Adminstrator Reference Manual section 6.2
Servers which are not intended to perform recursion at all may
also effectively prevent this condition by setting "recursion no;"
in named.conf
Active exploits:
We are not aware of any exploits deliberately targeting this
specific defect but it is not uncommon for scanners to search
for open resolvers for use in reflection attacks and other
mischief. We have at least one report from an operator who
discovered that unauthorized clients were successfully making
queries to his server and it is reasonable to assume that other
servers with similar configurations may be currently affected
although their operators are unaware.
Solution:
Future maintenance releases of BIND will correct the regression
which introduced this issue but ISC does not believe that
replacement security releases of BIND are required, given that
several easy, safe, and completely effective configuration
workarounds are available for any operators with affected
configurations. However, an advance version of the patch diff
which will be applied to future versions is available upon request
to security-officer at isc.org and a correction for the behavior
in question will debut in the release candidates for BIND 9.9.13,
BIND 9.10.8, BIND 9.11.4, and BIND 9.12.2.
Acknowledgements:
ISC would like to thank Andrew Skalski for reporting this issue.
Document Revision History:
1.0 Advance Notification 06 June 2018
2.0 Public disclosure 12 June 2018
Related Documents:
See our BIND9 Security Vulnerability Matrix at
https://kb.isc.org/article/AA-00913 for a complete listing of
Security Vulnerabilities and versions affected.
If you'd like more information on ISC Subscription Support and
Advance Security Notifications, please visit http://www.isc.org/support/.
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
This Knowledge Base article https://kb.isc.org/article/AA-01616 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.
(c) 2001-2018 Internet Systems Consortium
More information about the bind-announce
mailing list