更新BIND DNS服务器修复远程代码执行漏洞

已发布 BIND DNS 服务器 9.11.31 和 9.16.15 的稳定分支以及正在开发的实验分支 9.17.12 的修正更新。 新版本解决了三个漏洞,其中之一 (CVE-2021-25216) 会导致缓冲区溢出。 在 32 位系统上,可利用该漏洞通过发送特制的 GSS-TSIG 请求来远程执行攻击者的代码。 在 64 位系统上,问题仅限于指定进程的崩溃。

仅当启用 GSS-TSIG 机制(使用 tkey-gssapi-keytab 和 tkey-gssapi-credential 设置激活)时,才会出现该问题。 GSS-TSIG 在默认配置中处于禁用状态,通常用于 BIND 与 Active Directory 域控制器结合使用的混合环境,或者与 Samba 集成时。

该漏洞是由 SPNEGO(简单且受保护的 GSSAPI 协商机制)机制的实现中的错误引起的,该机制在 GSSAPI 中用于协商客户端和服务器使用的保护方法。 GSSAPI 用作安全密钥交换的高级协议,使用在验证动态 DNS 区域更新过程中使用的 GSS-TSIG 扩展。

由于之前已发现 SPNEGO 内置实现中的严重漏洞,因此该协议的实现已从 BIND 9 代码库中删除。对于需要 SPNEGO 支持的用户,建议使用 GSSAPI 提供的外部实现系统库(在 MIT Kerberos 和 Heimdal Kerberos 中提供)。

旧版本 BIND 的用户作为阻止该问题的解决方法,可以在设置中禁用 GSS-TSIG(选项 tkey-gssapi-keytab 和 tkey-gssapi-credential)或重建 BIND,而不支持 SPNEGO 机制(选项“-” -disable-isc-spnego”在脚本“配置”中)。 您可以在以下页面上跟踪发行版中更新的可用性:Debian、SUSE、Ubuntu、Fedora、Arch Linux、FreeBSD、NetBSD。 RHEL 和 ALT Linux 软件包是在没有本机 SPNEGO 支持的情况下构建的。

此外,相关 BIND 更新中还修复了另外两个漏洞:

  • CVE-2021-25215 — 处理 DNAME 记录(部分子域的重定向处理)时命名进程崩溃,导致 ANSWER 部分添加重复项。 在权威DNS服务器上利用该漏洞需要对处理的DNS区域进行更改,而对于递归服务器,联系权威服务器后即可获取有问题的记录。
  • CVE-2021-25214 – 处理特制的传入 IXFR 请求(用于在 DNS 服务器之间增量传输 DNS 区域中的更改)时,指定进程崩溃。 该问题仅影响允许来自攻击者服务器的 DNS 区域传输的系统(通常区域传输用于同步主服务器和从服务器,并且仅选择性地允许可信赖的服务器)。 作为一种安全解决方法,您可以使用“request-ixfr no;”设置禁用 IXFR 支持。

来源: opennet.ru

添加评论