Ubuntu 16.04 LTS:Linux 内核漏洞 (USN-2965-1)

critical Nessus 插件 ID 91082

简介

远程 Ubuntu 主机缺少一个或多个安全更新。

描述

远程 Ubuntu 16.04 LTS 主机上安装的一个程序包受到 USN-2965-1 公告中提及的多个漏洞影响。

- 在 4.5.1 之前的 Linux 内核中,snd-usb-audio 驱动程序的 sound/usb/quirks.c 的 create_fixed_stream_quirk 函数允许实际邻近攻击者通过 USB 设备描述符中构建的端点值,造成拒绝服务(空指针取消引用或双重释放,以及系统崩溃)。
(CVE-2016-2184)

- 在 4.5.1 之前的 Linux 内核中,drivers/input/misc/ati_remote2.c 的 ati_remote2_probe 函数允许实际邻近攻击者通过 USB 设备描述符中构建的端点值,造成拒绝服务(空指针取消引用和系统崩溃)。(CVE-2016-2185)

- 在 4.5.1 之前的 Linux 内核中,drivers/input/misc/powermate.c 的 powermate_probe 函数允许实际邻近攻击者通过 USB 设备描述符中构建的端点值,造成拒绝服务(空指针取消引用和系统崩溃)。(CVE-2016-2186)

- 在 4.5.1 之前的 Linux 内核中,drivers/usb/misc/iowarrior.c 的 iowarrior_probe 函数允许实际邻近攻击者通过 USB 设备描述符中构建的端点值,造成拒绝服务(空指针取消引用和系统崩溃)。(CVE-2016-2188)

- 在 4.5.1 之前的 Linux 内核中,drivers/usb/serial/mct_u232.c 的 mct_u232_msr_to_state 函数允许实际邻近攻击者通过没有两个中断输入端点描述符的构建的 USB 设备,造成拒绝服务(空指针取消引用和系统崩溃)。(CVE-2016-3136)

- 在 4.5.1 之前的 Linux 内核中,drivers/usb/serial/cypress_m8.c 允许实际邻近攻击者通过没有中断输入和中断输出端点描述符的 USB 设备,造成拒绝服务(空指针取消引用和系统崩溃),这与 cypress_generic_port_probe 和 cypress_open 函数相关。(CVE-2016-3137)

- 在 4.5.1 之前的 Linux 内核中,drivers/usb/class/cdc-acm.c 的 acm_probe 函数允许实际邻近攻击者通过没有控制和数据端点描述符的 USB 设备,造成拒绝服务(空指针取消引用和系统崩溃)。(CVE-2016-3138)

- 在低于 4.5.1 的 Linux 内核版本中,物理邻近攻击者可利用 drivers/usb/serial/digi_acceleport.c 中的 digi_port_init 函数,通过 USB 设备描述符中构建的端点值,造成拒绝服务(空指针取消引用和系统崩溃)。(CVE-2016-3140)

- 在 4.5.2 之前的 Linux 内核中,IPv4 实现不当处理设备对象的销毁,进而允许客户机操作系统用户通过对于大量 IP 地址进行安排,造成拒绝服务(主机操作系统网络中断)。(CVE-2016-3156)

- Linux 内核的 arch/x86/kernel/process_64.c 中的 __switch_to 函数在 64 位 PV Xen 客户机上未正确进行 IOPL 上下文切换,这允许本地客户机操作系统用户通过利用 I/O 端口访问获取权限和敏感信息,或造成拒绝服务(客户机操作系统崩溃)。
(CVE-2016-3157)

- 在 Linux 内核 4.5.2 及之前版本中,arch/x86/mm/mmap.c 中的 arch_pick_mmap_layout 函数未正确随机化旧基址,本地用户可利用此漏洞,通过禁用堆栈消耗资源限制,轻易突破 ADDR_NO_RANDOMIZE 标记的预期限制,并绕过 setuid 或 setgid 程序的 ASLR 保护机制。(CVE-2016-3672)

- 在 4.5.1 之前的 Linux 内核中,drivers/input/misc/ims-pcu.c 的 ims_pcu_parse_cdc_data 函数允许实际邻近攻击者通过没有主要和从属接口的 USB 设备,造成拒绝服务(系统崩溃)。(CVE-2016-3689)

- 在低于 4.5 的 Linux 内核版本中,drivers/net/usb/cdc_ncm.c 中存在双重释放漏洞,物理邻近攻击者可利用此漏洞,通过插入 USB 描述符无效的 USB 设备,造成拒绝服务(系统崩溃),或可能造成其他不明影响。(CVE-2016-3951)

- 在 4.5.3 之前的 Linux 内核中,drivers/usb/usbip/usbip_common.c 的 usbip_recv_xbuff 函数允许远程攻击者通过 USB/IP 数据包中的构建的长度值,造成拒绝服务(越界写入)或可能造成其他不明影响。(CVE-2016-3955)

- 在 4.5.5 之前的 Linux 内核中,kernel/bpf/verifier.c 的 replace_map_fd_with_map_ptr 函数未正确维护 fd 数据结构,导致本地用户可以通过参考不正确文件描述符的构建的 BPF 指令,取得权限或造成拒绝服务(释放后使用)。
(CVE-2016-4557)

请注意,Nessus 尚未测试这些问题,而是只依据应用程序自我报告的版本号进行判断。

解决方案

更新受影响的 kernel 程序包。

另见

https://ubuntu.com/security/notices/USN-2965-1

插件详情

严重性: Critical

ID: 91082

文件名: ubuntu_USN-2965-1.nasl

版本: 2.20

类型: local

代理: unix

发布时间: 2016/5/12

最近更新时间: 2024/1/9

支持的传感器: Agentless Assessment, Frictionless Assessment Agent, Frictionless Assessment AWS, Frictionless Assessment Azure, Nessus Agent, Nessus

风险信息

VPR

风险因素: High

分数: 8.9

CVSS v2

风险因素: Critical

基本分数: 10

时间分数: 8.7

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

CVSS 分数来源: CVE-2016-3955

CVSS v3

风险因素: Critical

基本分数: 9.8

时间分数: 9.4

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

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

漏洞信息

CPE: p-cpe:/a:canonical:ubuntu_linux:linux-image-4.4.0-22-generic, p-cpe:/a:canonical:ubuntu_linux:linux-image-4.4.0-22-generic-lpae, p-cpe:/a:canonical:ubuntu_linux:linux-image-4.4.0-22-lowlatency, p-cpe:/a:canonical:ubuntu_linux:linux-image-4.4.0-22-powerpc-e500mc, p-cpe:/a:canonical:ubuntu_linux:linux-image-4.4.0-22-powerpc-smp, p-cpe:/a:canonical:ubuntu_linux:linux-image-4.4.0-22-powerpc64-emb, p-cpe:/a:canonical:ubuntu_linux:linux-image-4.4.0-22-powerpc64-smp, cpe:/o:canonical:ubuntu_linux:16.04:-:lts

必需的 KB 项: Host/cpu, Host/Ubuntu, Host/Ubuntu/release, Host/Debian/dpkg-l

可利用: true

易利用性: Exploits are available

补丁发布日期: 2016/5/6

漏洞发布日期: 2016/4/12

可利用的方式

Metasploit (Linux BPF doubleput UAF Privilege Escalation)

参考资料信息

CVE: CVE-2016-2184, CVE-2016-2185, CVE-2016-2186, CVE-2016-2188, CVE-2016-3136, CVE-2016-3137, CVE-2016-3138, CVE-2016-3140, CVE-2016-3156, CVE-2016-3157, CVE-2016-3672, CVE-2016-3689, CVE-2016-3951, CVE-2016-3955, CVE-2016-4557

USN: 2965-1