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

简介: 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/
相关文章
|
5月前
|
Serverless
函数计算在执行请求的过程中遇到了意外的错误
函数计算在执行请求的过程中遇到了意外的错误
62 1
|
11天前
|
程序员
项目中的全局异常是如何处理的
项目中的全局异常处理通常包括对预期异常(程序员手动抛出)和运行时异常的管理。项目已提供`BaseException`作为基础异常类,用于手动抛出异常,并通过`GlobalExceptionHandler`进行全局处理。`
24 4
|
2月前
|
测试技术
需求不明确的情况下,测试该如何处理?
需求不明确的情况下,测试该如何处理?
|
6月前
|
前端开发
一个 ExpressionChangedAfterItHasBeenCheckedError 错误的解决过程
一个 ExpressionChangedAfterItHasBeenCheckedError 错误的解决过程
41 1
VS2017诊断工具意外失败处理方法
VS2017诊断工具意外失败处理方法
VS2017诊断工具意外失败处理方法
|
XML Java Android开发
Androistudio lint检查去除无效代码、无效资源
Androistudio lint检查去除无效代码、无效资源
323 0
|
JSON 监控 JavaScript
IE8:由于出现错误 80020101 而导致此项操作无法完成...........
IE8:由于出现错误 80020101 而导致此项操作无法完成...........
245 0
GoogleGuava - 第 1 章 基本工具——Throwables:简化异常和错误的传播与检查
GoogleGuava - 第 1 章 基本工具——Throwables:简化异常和错误的传播与检查
133 0
GoogleGuava - 第 1 章 基本工具——Throwables:简化异常和错误的传播与检查
|
测试技术 数据处理
pytest(9)-标记用例(指定执行、跳过用例、预期失败)
pytest中提供的mark模块,可以实现很多功能,如: 1. 标记用例,即打标签 2. skip、skipif标记跳过,skip跳过当前用例,skipif符合情况则跳过当前用例 3. xfail标记为预期失败
pytest(9)-标记用例(指定执行、跳过用例、预期失败)
|
小程序 Android开发
排查指南 | 当 mPaaS 小程序提示“应用更新错误(1001)”时
APP 启动 mPaaS 小程序弹出 toast 信息:"应用更新错误"。
3572 0
排查指南 | 当 mPaaS 小程序提示“应用更新错误(1001)”时