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/
相关文章
|
自然语言处理 监控 Cloud Native
精华推荐 |【深入浅出Sentinel原理及实战】「原理探索专题」完整剖析Alibaba微服务架构体系之轻量级高可用流量控制组件Sentinel(1)
精华推荐 |【深入浅出Sentinel原理及实战】「原理探索专题」完整剖析Alibaba微服务架构体系之轻量级高可用流量控制组件Sentinel(1)
1817 0
精华推荐 |【深入浅出Sentinel原理及实战】「原理探索专题」完整剖析Alibaba微服务架构体系之轻量级高可用流量控制组件Sentinel(1)
|
5月前
|
缓存 监控 JavaScript
《Electron应用性能深耕:资源加载与内存治理的进阶路径》
本文围绕Electron桌面应用的性能优化展开,深入剖析了资源加载与内存治理的进阶路径。从底层机制出发,分析了Electron在主进程预加载、渲染进程解析、跨进程共享等环节的资源加载瓶颈,提出了包含动态加载、多级缓存、格式优化等在内的突破策略;针对内存占用问题,从渲染进程、主进程、GPU内存管理及垃圾回收机制等方面,构建了系统性优化方案。同时,结合实战案例探讨了优化中的辩证关系与跨平台适配经验,强调以数据驱动实现动态调节,为提升Electron应用性能提供了全面且深入的技术指引。
294 0
|
9月前
|
Ubuntu Linux
Linux系统管理:服务器时间与网络时间同步技巧。
以上就是在Linux服务器上设置时间同步的方式。然而,要正确运用这些知识,需要理解其背后的工作原理:服务器根据网络中的其他机器的时间进行校对,逐步地精确自己的系统时间,就像一只犹豫不决的啮齿动物,通过观察其他啮齿动物的行为,逐渐确定自己的行为逻辑,既简单,又有趣。最后希望这个过程既能给你带来乐趣,也能提高你作为系统管理员的专业素养。
1336 20
|
存储 Java Nacos
Spring Cloud+Nacos+KMS 动态配置最佳实践
本文讲述了 Spring Cloud 应用中结合 Nacos 实现了运行期配置动态更新的功能,以及在此基础上结合 KMS 在不改动代码的情况下对应用使用的敏感配置进行保护,解决将配置迁移到 Nacos 中可能存在的数据安全顾虑,并对其底层工作原理做了简单介绍。
1447 158
|
Ubuntu 编译器 Linux
go语言中SQLite3驱动安装
【11月更文挑战第2天】
435 7
|
机器学习/深度学习 数据采集 TensorFlow
利用TensorFlow实现简单的图像分类模型
利用TensorFlow实现简单的图像分类模型
301 0
|
存储 Java
【Java开发指南 | 第七篇】静态变量生命周期、初始化时机及静态变量相关性质
【Java开发指南 | 第七篇】静态变量生命周期、初始化时机及静态变量相关性质
369 4
|
Java 开发者
如何通过易语言多线程提升程序响应速度
如何通过易语言多线程提升程序响应速度
605 62
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第26天】数据库作为现代应用系统的核心组件,其性能优化至关重要。本文主要探讨MySQL的索引策略与查询性能调优。通过合理创建索引(如B-Tree、复合索引)和优化查询语句(如使用EXPLAIN、优化分页查询),可以显著提升数据库的响应速度和稳定性。实践中还需定期审查慢查询日志,持续优化性能。
1075 0
|
消息中间件 存储 SQL
代码很少,却很优秀!RocketMQ的NameServer做到了!
本文深入剖析了RocketMQ的注册中心NameServer,基于RocketMQ release-5.2.0版本。NameServer作为Broker、Producer与Consumer之间的纽带,仅由少数几个类构成,却实现了高性能与轻量化。文章详细介绍了NameServer的AP设计思想、简洁的数据结构及心跳机制。AP设计避免了复杂的分布式协议,简化了网络开销;数据结构主要包括路由表、Broker信息等;心跳机制则通过定时扫描确保Broker的活跃状态。通过这些核心设计,NameServer实现了高效稳定的注册与发现功能。
613 5