CVE-2021-25216: A second vulnerability in BIND's GSSAPI security policy negotiation can be targeted by a buffer overflow attack
mcnally at isc.org
Wed Apr 28 20:20:10 UTC 2021
Document version: 2.0
Posting date: 28 April 2021
Program impacted: BIND
Versions affected: BIND 9.5.0 -> 9.11.29, 9.12.0 -> 9.16.13, and versions
BIND 9.11.3-S1 -> 9.11.29-S1 and 9.16.8-S1 -> 9.16.13-S1
of BIND Supported Preview Edition, as well as release
versions 9.17.0 -> 9.17.1 of the BIND 9.17 development
GSS-TSIG is an extension to the TSIG protocol which is intended
to support the secure exchange of keys for use in verifying the
authenticity of communications between parties on a network.
SPNEGO is a negotiation mechanism used by GSSAPI, the application
protocol interface for GSS-TSIG.
The SPNEGO implementation used by BIND has been found to be
vulnerable to a buffer overflow attack.
BIND servers are vulnerable if they are running an affected
version and are configured to use GSS-TSIG features.
In a configuration which uses BIND's default settings the
vulnerable code path is not exposed, but a server can be rendered
vulnerable by explicitly setting values for the tkey-gssapi-keytab
or tkey-gssapi-credential configuration options.
Although the default configuration is not vulnerable, GSS-TSIG
is frequently used in networks where BIND is integrated with
Samba, as well as in mixed-server environments that combine BIND
servers with Active Directory domain controllers. For servers
that meet these conditions, the ISC SPNEGO implementation is
vulnerable to various attacks, depending on the CPU architecture
for which BIND was built:
- For named binaries compiled for 64-bit platforms, this flaw
can be used to trigger a buffer over-read, leading to a server
- For named binaries compiled for 32-bit platforms, this flaw
can be used to trigger a server crash due to a buffer overflow
and possibly also to achieve remote code execution.
We have determined that standard SPNEGO implementations are
available in the MIT and Heimdal Kerberos libraries, which support
a broad range of operating systems, rendering the ISC implementation
unnecessary and obsolete. Therefore, to reduce the attack surface
for BIND users, we will be removing the ISC SPNEGO implementation
in the April releases of BIND 9.11 and 9.16 (it had already been
dropped from BIND 9.17).
We would not normally remove something from a stable ESV (Extended
Support Version) of BIND, but since system libraries can replace
the ISC SPNEGO implementation, we have made an exception in this
case for reasons of stability and security.
CVSS Score: 8.1 (on 32-bit platforms) or 7.4 (on 64-bit)
- CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H (32-bit)
- CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:H (64-bit)
For more information on the Common Vulnerability Scoring System and
to obtain your specific environmental score please visit:
This vulnerability only affects servers configured to use GSS-TSIG,
most often to sign dynamic updates. If another mechanism can be
used to authenticate updates, the vulnerability can be avoided
by choosing not to enable the use of GSS-TSIG features.
Prior to the April 2021 BIND releases, on some platforms it was
possible to build a working BIND installation that was not
vulnerable to CVE-2021-25216 by providing the --disable-isc-spnego
command-line argument when running the ./configure script in the
top level of the BIND source directory, before compiling and
After the April 2021 BIND releases, all supported branches have
removed isc-spnego support. This corrects CVE-2021-25216, but
requires that the system have other libraries and header files
to support GSS-TSIG functionality, unless such functionality is
completely disabled at build time by providing the --without-gssapi
argument to the ./configurescript when selecting build options.
We are not aware of any active exploits.
Upgrade to the patched release most closely related to your
current version of BIND:
- BIND 9.11.31
- BIND 9.16.15
BIND Supported Preview Edition is a special feature preview
branch of BIND provided to eligible ISC support customers.
- BIND 9.11.31-S1
- BIND 9.16.15-S1
ISC would like to thank an anonymous party, working in conjunction
with Trend Micro Zero Day Initiative, for reporting this issue to us.
Document revision history:
1.0 Early Notification, 14 April 2021
1.1 Disclosure schedule change, 15 April 2021
2.0 Public disclosure, 28 April 2021
See our BIND 9 Security Vulnerability Matrix for a complete
listing of security vulnerabilities and versions affected.
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/pgpkey/. If you are unable
to use encrypted email, you may also report new issues at:
ISC patches only currently supported versions. When possible we
indicate EOL versions affected. (For current information on which
versions are actively supported, please see
ISC Security Vulnerability Disclosure Policy:
Details of our current security advisory policy and practice can
be found in the ISC Software Defect and Security Vulnerability
Disclosure Policy at https://kb.isc.org/docs/aa-00861.
The Knowledgebase article https://kb.isc.org/docs/cve-2021-25216
is the complete and official security advisory document.
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.
More information about the bind-announce