CVE-2021-25216
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Summary
In 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 branch, 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 crash. 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.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| ISC | BIND9 | Open Source Branches 9.5 though 9.11 9.5.0 through versions before 9.11.31 | affected |
| ISC | BIND9 | Open Source Branches 9.12 though 9.16 9.12.0 through versions before 9.16.14 | affected |
| ISC | BIND9 | Supported Preview Branch 9.11-S 9.11.3-S1 through versions before 9.11.31-S1 | affected |
| ISC | BIND9 | Supported Preview Branch 9.16-S 9.16.8-S1 through versions before 9.16.14-S1 | affected |
| ISC | BIND9 | Development Branch 9.17 9.17.0 through versions before 9.17.2 | affected |
Weaknesses
- 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. Affects 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 branch.
Workarounds
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 linking named.
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.
ADP Enrichment
CVE Program Container
Additional References
- https://kb.isc.org/v1/docs/cve-2021-25215
- http://www.openwall.com/lists/oss-security/2021/04/29/1
- http://www.openwall.com/lists/oss-security/2021/04/29/2
- http://www.openwall.com/lists/oss-security/2021/04/29/3
- http://www.openwall.com/lists/oss-security/2021/04/29/4
- https://www.debian.org/security/2021/dsa-4909
- https://lists.debian.org/debian-lts-announce/2021/05/msg00001.html
- https://security.netapp.com/advisory/ntap-20210521-0006/
- https://www.zerodayinitiative.com/advisories/ZDI-21-657/
- https://cert-portal.siemens.com/productcert/pdf/ssa-389290.pdf
References
- https://kb.isc.org/v1/docs/cve-2021-25215
- http://www.openwall.com/lists/oss-security/2021/04/29/1
- http://www.openwall.com/lists/oss-security/2021/04/29/2
- http://www.openwall.com/lists/oss-security/2021/04/29/3
- http://www.openwall.com/lists/oss-security/2021/04/29/4
- https://www.debian.org/security/2021/dsa-4909
- https://lists.debian.org/debian-lts-announce/2021/05/msg00001.html
- https://security.netapp.com/advisory/ntap-20210521-0006/
- https://www.zerodayinitiative.com/advisories/ZDI-21-657/
- https://cert-portal.siemens.com/productcert/pdf/ssa-389290.pdf
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.