CVE-2020-8617:检查TSIG有效性的代码逻辑错误可能被用于触发tsig.c中的断言失败

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 2020年5月19日,ISC发布了BIND的一个新的漏洞和补丁。在受到攻击时,新版本的BIND服务器可以触发tsig.c中的断言失败,而检测到服务器不一致的状态并强制退出,进而保护服务器。

CVE-2020-8617 原文请参考ISC官网网站: https://kb.isc.org/docs/cve-2020-8617
为了技术语言的准确性,技术部分的翻译版本附带了英文原文

影响的版本:BIND 9.0.0 -> 9.11.18, 9.12.0 -> 9.12.4-P2, 9.14.0 -> 9.14.11, 9.16.0 -> 9.16.2。9.17的 实验开发分支:9.17.0 -> 9.17.1。9.13和9.15的所有开发版本分支。所有BIND支持预览版 从9.9.3-S1 到 9.11.18-S1。

严重性: 高

可利用性: 远程可利用

漏洞描述:
An error in BIND code which checks the validity of messages containing TSIG resource records can be exploited by an attacker to trigger an assertion failure in tsig.c, resulting in denial of service to clients.

攻击者可能利用BIND代码错误(注:BIND代码错误是用来检查TSIG资源记录的消息有效性的)触发tsig.c中的断言失败,从而导致拒绝为客户提供服务。

影响:

Using a specially-crafted message, an attacker may potentially cause a BIND server to reach an inconsistent state if the attacker knows (or successfully guesses) the name of a TSIG key used by the server.

如果攻击者知道(或成功猜测)服务器使用的TSIG密钥名称,则攻击者有可能使用特制的消息使BIND服务器达到不一致的状态。

由于BIND默认情况下会在其配置未使用的本地服务器上配置本地会话密钥,因此几乎当前所有的BIND服务器都容易受到攻击。

In releases of BIND dating from March 2018 and after, an assertion check in tsig.c detects this inconsistent state and deliberately exits. Prior to the introduction of the check the server would continue operating in an inconsistent state, with potentially harmful results.

在2018年3月及之后发布的BIND版本中,tsig.c中的断言检查可检测到这种不一致的状态并强制退出。在引入检查之前,服务器将继续以不一致的状态运行,从而可能产生危害。

CVSS 评分: 7.0

变通方法:

漏洞利用
我们不知道有任何活跃的漏洞被利用的案例。

解决方案

升级到与你当前使用BIND版本最接近的补丁版本:

  • BIND 9.11.19
  • BIND 9.14.12
  • BIND 9.16.3

BIND支持的预览版是BIND提供给符合条件的ISC支持客户的一个特殊功能预览分支。

  • BIND 9.11.19-S1

致谢
ISC感谢Tobias Klein发现并报道了这一问题。

相关文档
请参阅ISC的BIND 9安全漏洞矩阵,以获得受影响的安全漏洞和版本的完整列表。

有更多问题请联系

  • 英文可以直接联系ISC官方邮件: security-officer@isc.org.
  • 中文可以联系Alibaba DNS公共服务邮件:pubdns@alibaba-inc.com ,我们可以帮助联系ISC
  • 如果发现BIND有新的问题,你也可以通过以下ISC网址来提交新的漏洞: https://www.isc.org/reportbug/
相关文章
|
Serverless
函数计算在执行请求的过程中遇到了意外的错误
函数计算在执行请求的过程中遇到了意外的错误
93 1
|
3月前
|
编译器
【Bug记录】函数错误匹配,非法的间接寻址
【Bug记录】函数错误匹配,非法的间接寻址
|
4月前
|
前端开发 JavaScript 容器
快照测试中添加更多的断言和验证
快照测试中添加更多的断言和验证
|
4月前
|
文字识别 Java
文本,文字识别12,接口返回值和异常封装,一个好的接口,应该包括,错误码,提示信息,返回的数据,应该知道出错,错在哪里,抛出业务异常应该怎样解决?出现业务异常的时候,抛出业务异常,全局异常处理
文本,文字识别12,接口返回值和异常封装,一个好的接口,应该包括,错误码,提示信息,返回的数据,应该知道出错,错在哪里,抛出业务异常应该怎样解决?出现业务异常的时候,抛出业务异常,全局异常处理
|
6月前
|
测试技术
需求不明确的情况下,测试该如何处理?
需求不明确的情况下,测试该如何处理?
130 0
VS2017诊断工具意外失败处理方法
VS2017诊断工具意外失败处理方法
VS2017诊断工具意外失败处理方法
|
6月前
|
关系型数据库 MySQL 数据库
错误处理程序和错误触发条件
错误处理程序和错误触发条件。
55 0
|
XML Java Android开发
Androistudio lint检查去除无效代码、无效资源
Androistudio lint检查去除无效代码、无效资源
377 0
|
JSON 监控 JavaScript
IE8:由于出现错误 80020101 而导致此项操作无法完成...........
IE8:由于出现错误 80020101 而导致此项操作无法完成...........
410 0
GoogleGuava - 第 1 章 基本工具——Throwables:简化异常和错误的传播与检查
GoogleGuava - 第 1 章 基本工具——Throwables:简化异常和错误的传播与检查
153 0
GoogleGuava - 第 1 章 基本工具——Throwables:简化异常和错误的传播与检查