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