网络时间协议后台程序 (ntpd) < 4.2.8p4 多种漏洞

critical Nessus 插件 ID 86631

简介

远程 NTP 服务器受到多种漏洞的影响。

描述

远程 NTP 服务器的版本低于 4.2.8p4。因此,它可能会受到以下漏洞的影响:

- 由于未正确验证扩展字段中的“vallen”值,ntp_crypto.c 文件中存在一个缺陷。未经认证的远程攻击者可利用此缺陷,通过特别构建的 autokey 数据包泄露敏感信息或造成拒绝服务。
(CVE-2015-7691)

- 由于 crypto_bob2()、crypto_bob3() 和 cert_sign() 函数未正确验证“vallen”值,autokey 功能中存在一个拒绝服务漏洞。未经认证的远程攻击者可利用此情况,通过特别构建的 autokey 数据包,使 NTP 服务崩溃。(CVE-2015-7692)

- 与 autokey 功能相关的 ntp_crypto.c 文件的 crypto_recv() 函数中存在一个拒绝服务漏洞。未经认证的远程攻击者可利用此漏洞,通过持续发送大量 NTPv4 autokey 请求来耗尽内存资源。
(CVE-2015-7701)

- 由于未正确验证包含特定 autokey 操作的数据包,存在一个拒绝服务漏洞。未经认证的远程攻击者可利用此情况,通过特别构建的 autokey 数据包,使 NTP 服务崩溃。(CVE-2015-7702)

- 存在一个与处理“config:”命令相关的缺陷。经过认证的远程攻击者可利用此缺陷设置不受限制的“pidfile”和“driftfile”指令,因此允许攻击者覆盖任意文件。请注意,只有在为 ntpd 启用了远程配置的情况下才能利用此问题。(CVE-2015-7703)

- 由于在处理“Kiss o' Death”数据包时未正确验证源时间戳,存在一个拒绝服务漏洞。未经认证的远程攻击者可利用此情况阻止客户端查询其服务器,从而阻止更新其时钟。(CVE-2015-7704)

- 由于在处理服务器查询时未正确实现级别限制,存在一个拒绝服务漏洞。未经认证的远程攻击者可利用此情况阻止客户端查询其服务器,从而阻止更新其时钟。(CVE-2015-7705)

- 由于在处理含有请求代码 RESET_PEER (0x16) 的专用模式数据包时,ntp_request.c 文件的 reset_peer() 函数中存在整数溢出情况,因此存在一个拒绝服务漏洞。经过认证的远程攻击者可利用此情况使 NTP 服务崩溃。请注意,只有在将 ntpd 配置为启用模式 7 数据包,而且未正确地使用可用的认证和限制机制保护模式 7 数据包的情况下,才能利用此问题。(CVE-2015-7848)

- 处理受信任密钥时,authkeys.c 文件的 auth_delkeys() 函数中存在一个释放后使用错误。经过认证的远程攻击者可利用此错误取消引用已释放的内存,从而导致 NTP 服务崩溃或执行任意代码。
(CVE-2015-7849)

- 由于在处理将日志文件和密钥文件设置为同一文件的扩展日志记录时,authreadkeys.c 文件的 authreadkeys() 函数中存在一个逻辑缺陷,因此存在一个拒绝服务漏洞。经过认证的远程攻击者可利用此漏洞,通过一组构建的远程配置请求造成 NTP 服务停止响应。(CVE-2015-7850)

- 由于未正确审查用户提供的输入,ntp_control.c 文件的 save_config() 函数中存在一个缺陷。经过认证的远程攻击者可利用此问题,通过一组构建的配置请求覆盖任意文件。
请注意,此问题仅影响 VMS 系统,而且需要将 ntpd 配置为允许远程配置。(CVE-2015-7851)

- 由于在处理模式 6 响应数据包时,ntpq.c 文件的 cookedprint() 函数中存在差一溢出情况,因此存在一个拒绝服务漏洞。未经认证的远程攻击者可利用此情况使 NTP 服务崩溃。
(CVE-2015-7852)

- 处理负的数据长度时,ntp_io.c 文件的 read_refclock_packet() 函数中存在溢出情况。本地攻击者可利用此情况造成 NTP 服务崩溃,也可能获得提升的权限。(CVE-2015-7853)

- 处理密码时,authkeys.c 文件的 MD5auth_setkey() 函数中存在基于堆的溢出情况。经过认证的远程攻击者可利用此情况,通过一组构建的配置请求造成 NTP 服务崩溃或可能执行任意代码。(CVE-2015-7854)

- 由于在处理模式 6 和 7 数据包中的长数据值时,decodenetnum.c 文件的 decodenetnum() 函数中存在一个断言缺陷,因此存在一个拒绝服务漏洞。未经认证的远程攻击者可利用此情况使 NTP 服务崩溃。
(CVE-2015-7855)

- 处理 crypto-NAK 数据包时,ntp_proto.c 文件的 receive() 函数中存在一个认证绕过漏洞。未经认证的远程攻击者可利用此漏洞导致服务接受来自未经认证的临时对称对等机的时间。
(CVE-2015-7871)

解决方案

升级到 NTP 4.2.8p4 或更高版本。

另见

https://www.tenable.com/security/research/tra-2015-04

http://support.ntp.org/bin/view/Main/SecurityNotice

http://www.nessus.org/u?08d2ada0

插件详情

严重性: Critical

ID: 86631

文件名: ntp_4_2_8p4.nasl

版本: 1.16

类型: remote

系列: Misc.

发布时间: 2015/10/28

最近更新时间: 2019/11/20

配置: 启用偏执模式

支持的传感器: Nessus

风险信息

VPR

风险因素: Medium

分数: 6.7

CVSS v2

风险因素: High

基本分数: 7.5

时间分数: 5.9

矢量: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P

CVSS 分数来源: CVE-2015-7871

CVSS v3

风险因素: Critical

基本分数: 9.8

时间分数: 8.8

矢量: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

时间矢量: CVSS:3.0/E:P/RL:O/RC:C

漏洞信息

CPE: cpe:/a:ntp:ntp

必需的 KB 项: Settings/ParanoidReport, NTP/Running

可利用: true

易利用性: Exploits are available

补丁发布日期: 2015/10/21

漏洞发布日期: 2014/9/9

参考资料信息

CVE: CVE-2015-5194, CVE-2015-5195, CVE-2015-5219, CVE-2015-7691, CVE-2015-7692, CVE-2015-7701, CVE-2015-7702, CVE-2015-7703, CVE-2015-7704, CVE-2015-7705, CVE-2015-7848, CVE-2015-7849, CVE-2015-7850, CVE-2015-7851, CVE-2015-7852, CVE-2015-7853, CVE-2015-7854, CVE-2015-7855, CVE-2015-7871

BID: 77273, 77274, 77275, 77276, 77277, 77278, 77279, 77280, 77281, 77282, 77283, 77284, 77285, 77286, 77287, 77288