Ubuntu 16.04 LTS / 18.04 LTS:Linux 内核漏洞 (USN-4094-1)

critical Nessus 插件 ID 127889

简介

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

描述

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

- 在 Linux 内核 4.17.3 及之前版本中,通过较大的相对超时值,可导致 kernel/time/alarmtimer.c 中的 alarm_timer_nsleep 函数发生整数溢出,这是未使用 ktime_add_safe 所致。(CVE-2018-13053)

- 在 Linux 内核 4.17.3 及之前版本的 fs/xfs/xfs_icache.c 中发现一个问题。当在损坏的 xfs 图像上执行路径遍历时,使用空 inode->i_ops 指针的 lookup_slow() 中会出现空指针取消引用和恐慌。这是缺少对于分配期间缓存的 inode 是否被释放的正确验证所致。(CVE-2018-13093)

- 在 4.14 及之前的 Linux 内核的 fs/f2fs/super.c 中发现问题。如果在挂载构建的 f2fs 图像时遇到位图大小异常问题,则会发生拒绝服务(越界内存访问和错误)。(CVE-2018-13096)

- 在 4.17.3 及之前的 Linux 内核的 fs/f2fs/super.c 中发现问题。损毁 f2fs 图像中的 incorrect user_block_count 存在越界读取或除以零错误,会造成拒绝服务(错误)。(CVE-2018-13097)

- 在 4.17.3 及之前的 Linux 内核的 fs/f2fs/inode.c 中发现问题。如果 inode 中设置了 FI_EXTRA_ATTR,修改后的 f2fs 文件系统图像可能会发生拒绝服务(slab 越界读取和错误)。(CVE-2018-13098)

- 在 4.4 及之前的 Linux 内核的 fs/f2fs/inline.c 中发现问题。如果内联 inode 包含无效的已保留 blkaddr,修改后的 f2fs 文件系统映像会发生拒绝服务(越界内存访问和错误)。(CVE-2018-13099)

- 在 4.17.3 及之前的 Linux 内核的 fs/f2fs/super.c 中发现了一个问题:未正确验证损毁 f2fs 图像中的 secs_per_zone,除以零错误即为一例。
(CVE-2018-13100)

- 在 Linux 内核 4.17.10 及之前的版本中发现问题。挂载构建的 btrfs 图像时,
fs/btrfs/relocation.c 中的 __del_reloc_root() 中存在无效指针取消引用,此问题与未初始化 reloc 控制就删除 reloc rb_trees 有关。(CVE-2018-14609)

- 在 Linux 内核 4.17.10 及之前的版本中发现问题。在安装和操作构建的 btrfs 映像时,write_extent_buffer() 中存在越界访问,这是在 fs/btrfs/extent-tree.c 中的 btrfs_read_block_groups 中未验证每个块群组在安装时是否有相应区块所致。(CVE-2018-14610)

- 在 Linux 内核 4.17.10 及之前的版本中发现问题。在安装构建的 btrfs 映像时,try_merge_free_space() 中存在释放后使用,这是 fs/btrfs/volumes.c 中的 btrfs_check_chunk_valid 中缺少区块类型标记检查所致。(CVE-2018-14611)

- 在 Linux 内核 4.17.10 及之前的版本中发现问题。在安装构建的 btrfs 映像时,btrfs_root_node() 中存在无效指针取消引用,这是 fs/btrfs/extent-tree.c 的 btrfs_read_block_groups 中缺少区块群组映射验证以及 fs/btrfs/tree-checker.c 的 check_leaf 中缺少空树检查所致。(CVE-2018-14612)

- 在 Linux 内核 4.17.10 及之前的版本中发现问题。在安装和操作构建的 btrfs 映像时,io_ctl_map_page() 中存在无效指针取消引用,这是 fs/btrfs/tree-checker.c 中的 check_leaf_item 中缺少区块群组项目验证所致。(CVE-2018-14613)

- 在 Linux 内核 4.17.10 及之前的版本中发现问题。挂载 f2fs 图像时,fs/f2fs/segment.c 的 __remove_dirty_segment() 存在
越界访问问题。(CVE-2018-14614)

- 在 Linux 内核 4.17.10 及之前的版本中发现问题。卸载 f2fs 图像时,fs/f2fs/inline.c 的 truncate_inline_inode() 存在缓冲区溢出漏洞,因为长度值可能为负数。(CVE-2018-14615)

- 在 Linux 内核 4.17.10 及之前的版本中发现问题。处理损毁的 f2fs 图像中的文件时,fs/crypto/crypto.c 的 fscrypt_do_page_crypto() 存在空指针取消引用问题。
(CVE-2018-14616)

- 在 Linux 内核 4.17.10 及之前的版本中发现问题。在 hfs+ 系统文件中打开目录数据畸形且在没有元数据目录的情况下以只读方式挂载的文件时,fs/hfsplus/dir.c 的 hfsplus_lookup() 发生空指针取消引用和错误。
(CVE-2018-14617)

- 在 Linux 内核中 cleancache 子系统在最终文件截断(删除)后清除 inode 的方式中发现安全缺陷。使用相同 inode 创建的新文件可能包含 cleancache 的剩余页面以及旧文件数据,而非新文件数据。(CVE-2018-16862)

- 在 Linux 内核 4.19.9 之前的版本中发现问题。USB 子系统在读取额外的描述符期间,未正确处理大小检查,这与 drivers/usb/core/usb.c 中的 __usb_get_extra_descriptor 有关。
(CVE-2018-20169)

- 在 Linux 内核 4.18.11 之前的版本中发现问题。drivers/net/appletalk/ipddp.c 中的 ipddp_ioctl 函数让本地用户可以通过 SIOCFINDIPDDPRT ioctl 调用利用 CAP_NET_ADMIN 读取 ipddp_route dev 和 next 字段,从而获取敏感内核地址信息。
(CVE-2018-20511)

- 在 Linux 内核 4.18.7 之前的版本中发现问题。block/blk-core.c 中存在
__blk_drain_queue() 释放后使用,这是未正确处理某个错误情况所致。(CVE-2018-20856)

- macOS 10.13 之前的版本、High Sierra 和 iOS 11.4 之前的版本和 2018 年 6 月 5 日修补程序之前的 Android 版本可能不足以验证在 Diffie-Hellman 密钥交换期间用于生成公钥的椭圆曲线参数,允许远程攻击者获取用于设备的加密密钥。(CVE-2018-5383)

- Linux 内核中发现缺陷。drivers/net/wireless/marvell/mwifiex/ie.c 中的 mwifiex_uap_parse_tail_ies 函数中存在基于堆的缓冲区溢出,可能会造成内存损坏,并可能造成其他后果。(CVE-2019-10126)

- 某些中央处理器 (CPU) 推测性地访问内存时,存在信息泄露漏洞,亦称“Windows 内核信息泄露漏洞”。此 CVE ID 与 CVE-2019-1071、CVE-2019-1073 不同。(CVE-2019-1125)

- 在 Linux 内核 5.1.6 及之前的所有版本中,在 arch/powerpc/platforms/pseries/dlpar.c 的 dlpar_parse_cc_property 中发现一个问题。prop->name 中存在未经检查的 kstrdup,攻击者可借此造成拒绝服务(空指针取消引用和系统崩溃)。(CVE-2019-12614)

- 在 Linux 内核 4.20.15 之前的版本中发现问题。net/nfc/llcp_commands.c 中的 nfc_llcp_build_tlv 函数可能会返回 NULL。如果调用程序未对此进行检查,则会触发空指针取消引用。这将造成拒绝服务。这会影响 net/nfc/llcp_core.c 中的 nfc_llcp_build_gb。(CVE-2019-12818)

- 在 Linux 内核 5.0 之前的版本中发现问题。drivers/net/phy/mdio_bus.c 中的 __mdiobus_register() 函数可调用 put_device(),进而触发 fixed_mdio_bus_init 释放后使用。
此问题会导致拒绝服务。(CVE-2019-12819)

- 在 5.1.13 之前的 Linux 内核中,net/nfc/netlink.c 的函数 nfc_genl_deactivate_target() 存在空指针取消引用漏洞,可通过忽略某些 NFC 属性的恶意用户模式程序触发,从而导致拒绝服务。(CVE-2019-12984)

- 在 5.1.9 版本之前的 Linux 内核的 arch/x86/lib/insn-eval.c 中,由于 modify_ldt() 和 MPX 边界违规的 #BR 异常之间存在争用条件,存在 LDT 条目访问权的释放后使用。(CVE-2019-13233)

- 在低于 5.1.17 的 Linux 内核版本中,kernel/ptrace.c 中的 ptrace_link 未正确处理要创建 ptrace 关系的进程的凭据记录,本地用户可利用此漏洞,通过使用某些父子进程关系情况获取根访问权限,其中父项降低权限并调用 execve(可能允许攻击者控制)。造成此问题的其中一个因素是对象生命周期问题(还可导致错误)。另一个因素是未将 ptrace 关系正确标记为特权,攻击者可通过(例如)Polkit 的 pkexec 帮助程序和 PTRACE_TRACEME 利用此漏洞。注意:SELinux deny_ptrace 在某些环境下可能是有用的变通方案。
(CVE-2019-13272)

- 在 em28xx-dvb.c 的 em28xx_unregister_dvb 中,可能存在释放后使用问题。这可能会导致本地权限提升,且无需其他执行权限。无需用户交互即可利用漏洞。产品:Android 版本:Android 内核 Android ID:A-111761954References:
上游内核 (CVE-2019-2024)

- 在 uvc_driver.c 的 uvc_parse_standard_control 中,可能存在因输入验证不当而导致的越界读取。这可能导致本地信息泄露,且无需其他执行权限。不需用户交互即可恶意利用。产品:Android。版本:Android 内核。
Android ID:A-111760968。(CVE-2019-2101)

- 在 mwifiex 内核模块中发现缺陷,攻击者可在连接到恶意无线网络时利用此缺陷破坏内存,并可能提升权限。(CVE-2019-3846)

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

解决方案

更新受影响的 kernel 程序包。

另见

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

插件详情

严重性: Critical

ID: 127889

文件名: ubuntu_USN-4094-1.nasl

版本: 1.14

类型: local

代理: unix

发布时间: 2019/8/14

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

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

风险信息

VPR

风险因素: Critical

分数: 9.7

CVSS v2

风险因素: High

基本分数: 8.3

时间分数: 7.2

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

CVSS 分数来源: CVE-2019-3846

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

CVSS 分数来源: CVE-2019-10126

漏洞信息

CPE: p-cpe:/a:canonical:ubuntu_linux:linux-image-4.15.0-1021-oracle, p-cpe:/a:canonical:ubuntu_linux:linux-image-4.15.0-1040-gcp, p-cpe:/a:canonical:ubuntu_linux:linux-image-4.15.0-1040-gke, p-cpe:/a:canonical:ubuntu_linux:linux-image-4.15.0-1042-kvm, p-cpe:/a:canonical:ubuntu_linux:linux-image-4.15.0-1043-raspi2, p-cpe:/a:canonical:ubuntu_linux:linux-image-4.15.0-1050-oem, p-cpe:/a:canonical:ubuntu_linux:linux-image-4.15.0-1060-snapdragon, p-cpe:/a:canonical:ubuntu_linux:linux-image-4.15.0-58-generic, p-cpe:/a:canonical:ubuntu_linux:linux-image-4.15.0-58-generic-lpae, p-cpe:/a:canonical:ubuntu_linux:linux-image-4.15.0-58-lowlatency, cpe:/o:canonical:ubuntu_linux:16.04:-:lts, cpe:/o:canonical:ubuntu_linux:18.04:-:lts

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

可利用: true

易利用性: Exploits are available

补丁发布日期: 2019/8/13

漏洞发布日期: 2018/7/2

CISA 已知可遭利用的漏洞到期日期: 2022/6/10

可利用的方式

Core Impact

Metasploit (Linux Polkit pkexec helper PTRACE_TRACEME local root exploit)

参考资料信息

CVE: CVE-2018-13053, CVE-2018-13093, CVE-2018-13096, CVE-2018-13097, CVE-2018-13098, CVE-2018-13099, CVE-2018-13100, CVE-2018-14609, CVE-2018-14610, CVE-2018-14611, CVE-2018-14612, CVE-2018-14613, CVE-2018-14614, CVE-2018-14615, CVE-2018-14616, CVE-2018-14617, CVE-2018-16862, CVE-2018-20169, CVE-2018-20511, CVE-2018-20856, CVE-2018-5383, CVE-2019-10126, CVE-2019-1125, CVE-2019-12614, CVE-2019-12818, CVE-2019-12819, CVE-2019-12984, CVE-2019-13233, CVE-2019-13272, CVE-2019-2024, CVE-2019-2101, CVE-2019-3846

USN: 4094-1