Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <f844fc65-2488-a416-a4eb-349866dca104@isc.org>
Date: Thu, 5 Mar 2020 16:39:44 -0900
From: ISC Security Officer <security-officer@....org>
To: oss-security@...ts.openwall.com
Cc: "security-officer@....org" <security-officer@....org>
Subject: BIND Operational Notification: An error in handling TCP client quota
 limits can exhaust TCP connections in BIND 9.16.0

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

To the packagers and redistributors of BIND 9:

ISC has been informed of a significant defect in BIND 9.16.0, the
recently-issued first release in the BIND 9.16 branch.

Once the quota level has been reached, a bug in TCP client quota
enforcement can lead to servers improperly refusing additional TCP
connections even after the number of current TCP clients drops back
below the quota level.

The defect only affects BIND 9.16.0 and a few of the final releases
in the BIND 9.15 development branch (9.15.6 through 9.15.8) and
does not interfere with UDP queries -- a server which hits this
bug will stop accepting new TCP connections but will continue
processing UDP traffic.  Because the majority of query traffic
is not affected we have assessed the severity level of this bug
as not high enough to require a CVE identifier assignment and a
special security software release -- but still significant enough
that operators ought to be informed about it, therefore we are
issuing the BIND Operational Notification that follows.

If you have any further questions after reading the Operational
Notification below, please contact security-officer@....org and
we will attempt to answer them.

Once again, BIND 9.16.0 is the only stable production release
version that is affected; a few versions of the 9.15 unstable
development were affected as well (see below for exact details.)

Michael McNally
ISC Security Officer


- ---------------------------------------------------------------------

Posting date:       05 March 2020
Program Impacted:   BIND
Versions affected:  9.16.0. Also versions 9.15.6 -> 9.15.8 of the
                    9.15 development branch.

Description:

   One part of the development work done in the BIND 9.15 branch
   was to modernize BIND's networking framework to use libuv, a
   multi-platform C library that provides support for asynchronous
   I/O based on event loops.

   Unfortunately, during this work we introduced a problem in
   enforcing TCP client quota limits. A discrepancy in our quota
   code can result in a situation where the count is not properly
   decremented in some cases.

Impact:

   Under some circumstances, especially if a server is accepting
   TCP connections from clients on multiple interfaces, once the
   quota has been reached the server may stop accepting new TCP
   connections even after the number of active TCP connections has
   fallen back below the quota limit.

   Servers which encounter this defect will continue accepting and
   processing UDP queries (which represent the majority of query
   traffic on most servers) but can lose the ability to accept new
   TCP connections until the server is restarted.

Workarounds:

   To avoid reaching this condition accidentally the operator of
   an affected server can provision the tcp-clients limit high
   enough so that it is not expected to be encountered in normal
   operation. However a malicious party could still succeed in
   triggering it deliberately.

Solution:

   Since the workaround listed above is not effective against
   deliberate exploitation ISC recommends that operators running
   an affected release of BIND either:

   -  Download a patch diff (from https://downloads.isc.org/isc/bind9/9.16.0/patches);,
      apply it to the 9.16.0 source code using the patch utility,
      and recompile to include the behavior fix which will be included
      in the next release of the 9.16 branch to prevent this defect,

   -or-

   -  Revert to a stable production release of BIND from a branch
      before the libuv networking restructuring introduced in 9.15/9.16.
      At the present time our supported release branches are 9.11
      (most recent release: 9.11.16) and 9.14 (most recent release: 9.14.11).

Acknowledgements:

   ISC would like to thank Jay Ford of the University of Iowa for
   reporting this issue.

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

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/download/);.

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:

https://kb.isc.org/docs/operational-notification-an-error-in-handling-tcp-client-quota-lim
its-can-exhaust-tcp-connections-in-bind-9160

is the complete and official operational notification 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.
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEempHtfnhIzrSVStcvZfcY57oxHsFAl5hqdoACgkQvZfcY57o
xHtbXAf+OCvbM9tbXpmg6awukrth/22E64gp2lgc9mXI0Y4lJ9Nh93/DX+brHr2N
K9lIG+LOA5C+P164B3vTBgnNX+32jr6UYIfdPE+gzEp9gyI+Wzwv39yBXcIVvxdv
pt4Py7WoxOsAfsgLxTVu8Nz+6ul+RlWOr7il1oET4SqJTZ17oxeb6hElZSXo9oLY
7u9HuQ8rCZWkAaxNmYYRi+yZfPiwiM1pEdeiur0MR2rF2XuI/84pM/Wl8jCyCxLP
BodUfwg+Yjb8drucsFFN+70yazdBKAW88aaNyHvw1V+w15/6bEmnRt9LTIVdTqtK
lO/lkhrjS9YtNWFaFdQD2Iu/Xz9YEQ==
=rxet
-----END PGP SIGNATURE-----

Powered by blists - more mailing lists

Please check out the Open Source Software Security Wiki, which is counterpart to this mailing list.

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.