Amazon Linux 2:内核 (ALAS-2021-1685)

high Nessus 插件 ID 151793

简介

远程 Amazon Linux 2 主机缺少安全更新。

描述

远程主机上安装的内核版本低于 4.14.238-182.421。因此,它受到 ALAS2-2021-1685 公告中提及的多个漏洞影响。

- Bluetooth 核心规范 2.1 至 5.2 中的 Bluetooth LE 和 BR/EDR 安全配对可能允许附近的中间人攻击者在配对期间(在密钥身份验证过程中)通过反射发起设备的公钥和身份验证证据来识别所使用的密钥,从而可能允许该攻击者使用配对会话的正确密钥与响应设备完成经过身份验证的配对。此攻击方法一次确定密码值的一位。(CVE-2020-26558)

- BlueZ 中存在访问控制不当,经过身份验证的用户可利用此漏洞,通过邻近访问可能造成信息泄露。(CVE-2021-0129)

- 在 Linux 内核 5.11.11 之前的版本中发现问题。 netfilter 子系统允许攻击者造成拒绝服务(错误),因为 net/netfilter/x_tables.c 和 include/linux/netfilter/x_tables.h 在分配新的表值时缺少完整的内存屏障,也称为 CID-175e476b8cdf。
(CVE-2021-29650)

- Linux 内核 5.12.2 及之前版本中的 net/bluetooth/hci_request.c 存在删除 HCI 控制器的争用条件。(CVE-2021-32399)

- 在 Linux 内核 5.12.4 之前的版本中,net/bluetooth/hci_event.c 会在破坏 hci_chan 时出现释放后使用漏洞,亦称 CID-5c4c8c954409。这会导致写入任意值。(CVE-2021-33034)

- 在 Linux 内核 5.12.13 之前版本的 kernel/bpf/verifier.c 中,可能会错误地预测分支(例如,由于类型混淆),因此非特权 BPF 程序可以通过边信道攻击读取任意内存位置,亦称 CID-9183671af6db。(CVE-2021-33624)

- 在用户连接恶意 HCI TTY 蓝牙设备的方式中,发现 Linux 内核 HCI 设备初始化子系统中存在双重释放内存损坏缺陷。本地用户可利用此缺陷导致系统崩溃。此缺陷影响从 3.13 开始的所有 Linux 内核版本。(CVE-2021-3564)

- 在用户调用 ioct HCIUNBLOCKADDR 的方式或触发调用 hci_unregister_dev() 及 hci_sock_blacklist_add()、hci_sock_blacklist_del()、hci_get_conn_info()、hci_get_auth_info() 调用之一的争用条件的方式中,发现 Linux 内核 HCI 子系统的 hci_sock_bound_ioctl() 函数中存在释放后使用漏洞。特权本地用户可利用此缺陷造成系统崩溃,或提升其在系统中的特权。此缺陷影响 5.13-rc5 之前的 Linux 内核版本。(CVE-2021-3573)

- 解决了 Linux 内核中的以下漏洞:HID: usbhid:修复 hid_submit_ctrl 中的信息泄漏。在 hid_submit_ctrl() 中,计算报告长度的方式未考虑 report->size 可能为零。运行 syzkaller 复制器时,大小为 0 的报告会造成 hid_submit_ctrl) 将 transfer_buffer_length 计算为 16384。将此 urb 传递到 usb 核心层时,KMSAN 会报告 16384 字节的信息泄漏。若要修复此问题,请首先修改 hid_report_len(),通过在除法中使用 DIV_ROUND_UP 来说明报告大小为零的情况。然后,从 hid_submit_ctrl() 调用它。(CVE-2021-46906)

- 在 Linux 内核中,以下漏洞已修复:dm rq:修复表加载失败后,移除设备时发生 blk_mq_tag_set 双重释放 当为基于请求的映射设备加载 device-mapper 表以及为设备分配/初始化 blk_mq_tag_set 失败时,下面的设备移除将导致双重释放。例如 (dmesg):device-mapper:core:无法为基于请求的 dm-mq 映射设备 device-mapper 初始化队列:ioctl:无法为新表格设置设备队列。
无法处理虚拟内核地址空间中的内核指针取消引用 未解决:
0305e098835de000 TEID:0305e098835de803 使用内核 ASCE 时,主页空间模式发生错误。
AS:000000025efe0007 R3:0000000000000024 Oops:0038 ilc:3 [#1] SMP 模块链接位置:…许多模块… 支持与否:是,外部 CPU:0 PID:7348 命令:multipathd Kdump:已加载 已感染:G W X 5.3.18-53-default #1 SLE15-SP3 硬件名称:IBM 8561 T01 7I2 (LPAR) Krnl PSW:0704e00180000000 000000025e368eca (kfree+0x42/0x330) R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:2 PM:0 RI:0 EA:3 Krnl GPRS:000000000000004a 000000025efe5230 c1773200d779968d 0000000000000000 000000025e520270 000000025e8d1b40 0000000000000003 00000007aae10000 000000025e5202a2 0000000000000001 c1773200d779968d 0305e098835de640 00000007a8170000 000003ff80138650 000000025e5202a2 000003e00396faa8 Krnl 代码:
000000025e368eb8:c4180041e100 lgrl %r1,25eba50b8 000000025e368ebe:ecba06b93a55 risbg %r11,%r10,6,185,58 #000000025e368ec4: e3b010000008 ag %r11,0(%r1) >000000025e368eca:e310b0080004 lg %r1,8(%r11) 000000025e368ed0:a7110001 tmll %r1,1 000000025e368ed4:a7740129 brc 7,25e369126 000000025e368ed8:
e320b0080004 lg %r2,8(%r11) 000000025e368ede: b904001b lgr %r1,%r11 调用跟踪:[<000000025e368eca>] kfree+0x42/0x330 [<000000025e5202a2>] blk_mq_free_tag_set+0x72/0xb8 [<000003ff801316a8>] dm_mq_cleanup_mapped_device+0x38/0x50 [dm_mod] [<000003ff80120082>] free_dev+0x52/0xd0 [dm_mod] [<000003ff801233f0>] __dm_destroy+0x150/0x1d0 [dm_mod] [<000003ff8012bb9a>] dev_remove+0x162/0x1c0 [dm_mod] [<000003ff8012a988>] ctl_ioctl+0x198/0x478 [dm_mod] [<000003ff8012ac8a>] dm_ctl_ioctl+0x22/0x38 [dm_mod] [<000000025e3b11ee>] ksys_ioctl+0xbe/0xe0 [<000000025e3b127a>] __s390x_sys_ioctl+0x2a/0x40 [<000000025e8c15ac>] system_call+0xd8/0x2c8 上次突发事件地址:[<000000025e52029c>] blk_mq_free_tag_set+0x6c/0xb8 内核错误 - 不同步:致命异常:panic_on_oops 分配/初始化 dm_mq_init_request_queue() 中的 blk_mq_tag_set 失败后,指针不会被取消初始化/释放,而且也不会被重置为空;因此,当 dev_remove() 之后进入 dm_mq_cleanup_mapped_device() 时,它会发现该指针,并再次尝试取消初始化并释放该指针。在处理 dm_mq_init_request_queue() 错误时将指针设置为空即可解决此问题。还可以在 dm_mq_cleanup_mapped_device() 中将其设置为空。(CVE-2021-46938)

- 在 Linux 内核中,以下漏洞已修复:tracing:重构 trace_clock_global(),使其永不拦截 据报告,对环形缓冲区递归检测的修复导致计算机执行暂停/恢复测试时发生挂起。从调试该案例中提取了以下回溯:调用跟踪:trace_clock_global+0x91/0xa0 __rb_reserve_next+0x237/0x460 ring_buffer_lock_reserve+0x12a/0x3f0 trace_buffer_lock_reserve+0x10/0x50 __trace_graph_return+0x1f/0x80 trace_graph_return+0xb7/0xf0 ? trace_clock_global+0x91/0xa0 ftrace_return_to_handler+0x8b/0xf0 ? pv_hash+0xa0/0xa0 return_to_handler+0x15/0x30 ? ftrace_graph_caller+0xa0/0xa0 ? trace_clock_global+0x91/0xa0 ? __rb_reserve_next+0x237/0x460 ? ring_buffer_lock_reserve+0x12a/0x3f0 ? trace_event_buffer_lock_reserve+0x3c/0x120 ? trace_event_buffer_reserve+0x6b/0xc0 ? trace_event_raw_event_device_pm_callback_start+0x125/0x2d0 ? dpm_run_callback+0x3b/0xc0 ? pm_ops_is_empty+0x50/0x50 ? platform_get_irq_byname_optional+0x90/0x90 ? trace_device_pm_callback_start+0x82/0xd0 ? dpm_run_callback+0x49/0xc0 具有以下 RIP:RIP:
0010:native_queued_spin_lock_slowpath+0x69/0x200 由于对递归检测的修复使跟踪时发生单一递归,这会导致 trace_clock_global() 发生旋转锁定,然后尝试再次获取:ring_buffer_lock_reserve() { trace_clock_global() { arch_spin_lock() {queued_spin_lock_slowpath() { /* 发生锁定 */(函数图形跟踪器跟踪其他对象)ring_buffer_lock_reserve() { trace_clock_global() { arch_spin_lock() { queued_spin_lock_slowpath() { /* 死锁!*/ 跟踪应该 *永不* 拦截,因为会导致与上述类似的奇怪锁定。重构 race_clock_global() 代码以直接使用,而不是简单地获取锁定以更新记录的 prev_time,因为同时调用此代码的两个不同 CPU 上会发生两个事件,所以哪个先执行并不重要。使用 trylock 获取用于更新 prev_time 的锁定,如果失败,只需下次重试即可。如果失败,则表示已有其他程序对其进行更新。Bugzilla:https://bugzilla.kernel.org/show_bug.cgi?id=212761 (CVE-2021-46939)

- 在 Linux 内核中,以下漏洞已修复:md/raid1:结束失败的写入请求时,正确表示失败 此补丁解决了使用位图的 raid1 数组中的数据损坏错误。如果不执行此修复,则失败的 I/O 的位图位最终会被清除。由于我们处于 raid1_end_write_request 的失败段中,如果不再次尝试提出请求 (R1BIO_WriteError),则会发生失败 (R1BIO_Degraded)。(CVE-2021-46950)

- 在 Linux 内核中,以下漏洞已修复:ACPI:GTDT:监视窗口探测失败时,不要损坏中断映射 因固件属性无效而发生驱动器探测失败时,GTDT 驱动程序会取消映射之前映射的中断。但是,它从不检查中断的映射实际上是否成功。此外,如果固件报告与 GIC SGI 范围重叠的非法中断号,这会导致 IPI 被取消映射,以及后续的各种问题(据 Dann Frazier 报告)。改进驱动程序,赋予更强大的功能,使其能够在取消映射对象之前实际检查是否已映射中断。(CVE-2021-46953)

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

解决方案

运行“yum update kernel”以更新系统。

另见

https://alas.aws.amazon.com/AL2/ALAS-2021-1685.html

https://alas.aws.amazon.com/faqs.html

https://alas.aws.amazon.com/cve/html/CVE-2020-26558.html

https://alas.aws.amazon.com/cve/html/CVE-2021-0129.html

https://alas.aws.amazon.com/cve/html/CVE-2021-3564.html

https://alas.aws.amazon.com/cve/html/CVE-2021-3573.html

https://alas.aws.amazon.com/cve/html/CVE-2021-46906.html

https://alas.aws.amazon.com/cve/html/CVE-2021-46938.html

https://alas.aws.amazon.com/cve/html/CVE-2021-46939.html

https://alas.aws.amazon.com/cve/html/CVE-2021-46950.html

https://alas.aws.amazon.com/cve/html/CVE-2021-46953.html

https://alas.aws.amazon.com/cve/html/CVE-2021-29650.html

https://alas.aws.amazon.com/cve/html/CVE-2021-32399.html

https://alas.aws.amazon.com/cve/html/CVE-2021-33034.html

https://alas.aws.amazon.com/cve/html/CVE-2021-33624.html

插件详情

严重性: High

ID: 151793

文件名: al2_ALAS-2021-1685.nasl

版本: 1.9

类型: local

代理: unix

发布时间: 2021/7/16

最近更新时间: 2024/4/25

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

风险信息

VPR

风险因素: Medium

分数: 6.7

CVSS v2

风险因素: Medium

基本分数: 6.9

时间分数: 5.4

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

CVSS 分数来源: CVE-2021-3573

CVSS v3

风险因素: High

基本分数: 7.8

时间分数: 7

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

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

CVSS 分数来源: CVE-2021-46950

漏洞信息

CPE: p-cpe:/a:amazon:linux:perf, p-cpe:/a:amazon:linux:perf-debuginfo, p-cpe:/a:amazon:linux:kernel-tools-debuginfo, p-cpe:/a:amazon:linux:kernel-debuginfo-common-aarch64, p-cpe:/a:amazon:linux:kernel-livepatch-4.14.238-182.421, p-cpe:/a:amazon:linux:kernel-tools, p-cpe:/a:amazon:linux:kernel-devel, p-cpe:/a:amazon:linux:python-perf-debuginfo, p-cpe:/a:amazon:linux:kernel, p-cpe:/a:amazon:linux:kernel-debuginfo, p-cpe:/a:amazon:linux:kernel-headers, cpe:/o:amazon:linux:2, p-cpe:/a:amazon:linux:kernel-tools-devel, p-cpe:/a:amazon:linux:kernel-debuginfo-common-x86_64, p-cpe:/a:amazon:linux:python-perf

必需的 KB 项: Host/local_checks_enabled, Host/AmazonLinux/release, Host/AmazonLinux/rpm-list

可利用: true

易利用性: Exploits are available

补丁发布日期: 2021/7/14

漏洞发布日期: 2021/3/30

参考资料信息

CVE: CVE-2020-26558, CVE-2021-0129, CVE-2021-29650, CVE-2021-32399, CVE-2021-33034, CVE-2021-33624, CVE-2021-3564, CVE-2021-3573, CVE-2021-46906, CVE-2021-46938, CVE-2021-46939, CVE-2021-46950, CVE-2021-46953

ALAS: 2021-1685