Amazon Linux 2:内核 (ALASKERNEL-5.10-2024-048)

high Nessus 插件 ID 190029

简介

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

描述

远程主机上安装的内核版本低于 5.10.209-198.812。因此,会受到 ALAS2KERNEL-5.10-2024-048 公告中提及的多个漏洞影响。

- Xen 的虚拟网络协议中的传输请求可由多个部分组成。尽管这些部分在实际上并不实用,但除初始部分外,它们中的任何一个长度都可能为零,即完全不携带任何数据。除了要传输的数据的某个初始部分,这些部分还会直接转换为 Linux 所称的 SKB 片段。当此类转换后的请求部分对于特定 SKB 而言长度均为零时,可导致在核心网络代码中出现空指针取消引用漏洞。(CVE-2023-46838)

- 在 Linux 内核中,以下漏洞已修复:uio:修复 uio_open core-1 core-2 中的释放后使用 ------------------------------------------------------- uio_unregister_device uio_open idev = idr_find() device_unregister(&idev->dev) put_device(&idev->dev) uio_device_release get_device(&idev->dev) kfree(idev) uio_free_minor(minor) uio_release put_device(&idev->dev) kfree(idev)
------------------------------------------------------- 在 core-1 uio_unregister_device() 中,如果 idev->dev kobject ref 为 1,device_unregister 将 kfree idev。但在执行 core-1 device_unregister、put_device 与 kfree 之间,core-2 可能会 get_device。然后:1. 在 core-1 kfree idev 之后,core-2 将会为 idev 执行释放后使用。2. core-2 执行 uio_release 和 put_device 后,idev 将被双重释放。要解决此问题,我们可通过 minor_lock 获取 idev atomic 和 inc idev 引用。
(CVE-2023-52439)

- 在 Linux 内核中,以下漏洞已修复:gfs2:修复 gfs2_rgrp_dump 中的内核空指针取消引用 据 Syzkaller 报告,访问 gfs2_rgrp_dump() 中的 rgd->rd_rgl 时发生空指针取消引用。在 read_rindex_entry() 中创建 rgd->rd_gl 失败时,会发生这种情况。在 gfs2_rgrp_dump() 中添加空指针检查,以防出现该问题。(CVE-2023-52448)

- 在 Linux 内核中,以下漏洞已修复:bpf:修复对尝试损坏溢出指针的检查 当寄存器作为 1/2/4 字节寄存器在堆栈上溢出时,我们会设置 slot_type[BPF_REG_SIZE - 1](以及其下方可能发生更多少量溢出,具体取决于实际溢出大小)。因此,要检查某个堆栈槽是否发生了寄存器溢出,我们需要查询 slot_type[7],而非 slot_type[0]。为避免以后需要记住和仔细检查此项,只需使用 is_spilled_reg() 辅助函数即可。
(CVE-2023-52462)

- 在 Linux 内核中,以下漏洞已修复:efivarfs:如果不支持 SetVariable,在重新挂载时会强制执行 RO 如果固件不支持运行时的 SetVariable,我们绝不会为该函数分配回调。同时将 efivarfs 挂载为 RO,让任何人都无法调用。但是,我们从不会检查权限标记,除非有人将文件系统重新挂载为 RW。因此,这会导致崩溃,具体如下所示:$ mount -o remount,rw /sys/firmware/efi/efivars $ efi-updatevar -f PK.auth PK [303.279166] 无法处理虚拟地址 0000000000000000 的内核空指针取消引用 [303.280482] 内存中止信息:[ 303.280854] ESR = 0x0000000086000004 [ 303.281338] EC = 0x21:IABT(当前 EL),IL = 32 位 [ 303.282016] SET = 0,FnV = 0 [ 303.282414] EA = 0,S1PTW = 0 [ 303.282821] FSC = 0x04:
0 级转换错误 [ 303.283771] 用户 pgtable:4k 页面,48 位虚拟机,pgdp=000000004258c000 [303.284913] [0000000000000000] pgd=0000000000000000、p4d=0000000000000000 [ 303.286076] 内部错误:
Oops:0000000086000004 [#1] PREEMPT SMP [ 303.286936] 模块链接位置:qrtr tpm_tis tpm_tis_core crct10dif_ce arm_smccc_trng rng_core drm fuse ip_tables x_tables ipv6 [ 303.288586] CPU:1 PID:755 命令:
efi-updatevar 未感染 6.3.0-rc1-00108-gc7d0c4695c68 #1 [ 303.289748] 硬件名称:未知 未知产品/未知产品,BIOS 2023.04-00627-g88336918701d 04/01/2023 [ 303.291150] pstate:60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 303.292123] pc:0x0 [ 303.292443] lr:
efivar_set_variable_locked+0x74/0xec [ 303.293156] sp:ffff800008673c10 [ 303.293619] x29:
ffff800008673c10 x28:ffff0000037e8000 x27:0000000000000000 [ 303.294592] x26:0000000000000800 x25:
ffff000002467400 x24:0000000000000027 [ 303.295572] x23:ffffd49ea9832000 x22:ffff0000020c9800 x21:
ffff000002467000 [ 303.296566] x20:0000000000000001 x19:00000000000007fc x18:0000000000000000 [303.297531] x17:0000000000000000 x16:0000000000000000 x15:0000aaaac807ab54 [ 303.298495] x14:
ed37489f673633c0 x13:71c45c606de13f80 x12:47464259e219acf4 [ 303.299453] x11:ffff000002af7b01 x10:
0000000000000003 x9:0000000000000002 [ 303.300431] x8:0000000000000010 x7:ffffd49ea8973230 x6:
0000000000a85201 [ 303.301412] x5:0000000000000000 x4:ffff0000020c9800 x3:00000000000007fc [303.302370] x2:0000000000000027 x1:ffff000002467400 x0:ffff000002467000 [ 303.303341] 调用跟踪:[303.303679] 0x0 [ 303.303938] efivar_entry_set_get_size+0x98/0x16c [ 303.304585] efivarfs_file_write+0xd0/0x1a4 [ 303.305148] vfs_write+0xc4/0x2e4 [ 303.305601] ksys_write+0x70/0x104 [303.306073] __arm64_sys_write+0x1c/0x28 [ 303.306622] invoke_syscall+0x48/0x114 [ 303.307156] el0_svc_common.constprop.0+0x44/0xec [ 303.307803] do_el0_svc+0x38/0x98 [ 303.308268] el0_svc+0x2c/0x84 [303.308702] el0t_64_sync_handler+0xf4/0x120 [ 303.309293] el0t_64_sync+0x190/0x194 [ 303.309794] 代码:
???????? ???????? ???????? ???????? (????????) [ 303.310612] ---[结束跟踪 0000000000000000]--- 通过向 fs 操作添加 .reconfigure() 函数修复此漏洞,我们可以使用此函数检查请求的标记,并拒绝不是 RO 的任何内容(前提是固件在运行时未实施 SetVariable)。(CVE-2023-52463)

- 在 Linux 内核中,以下漏洞已修复:mfd:syscon:修复 of_syscon_register() 中的空指针取消引用 kasprintf() 会向动态分配内存返回一个指针,此指针在发生故障时会变为空。(CVE-2023-52467)

- 在 Linux 内核中,以下漏洞已修复:drivers/amd/pm:修复 kv_parse_power_table 中的释放后使用 如果 kzalloc 分配的 ps 为空,kv_parse_power_table 会释放之前分配的 adev->pm.dpm.ps。但是,在控制流经过以下调用链之后:kv_parse_power_table |-> kv_dpm_init |-> kv_dpm_sw_init |-> kv_dpm_fini 在 kv_parse_power_table 中第一次释放后,adev->pm.dpm.ps 用于 kv_dpm_fini 的 for 循环,并且会造成释放后使用缺陷。(CVE-2023-52469)

拒绝不受支持系列的表)中修复;创建新的 netfilter 表时,由于“nf_tables_newtable”函数中缺少针对无效 nf_tables 系列 (pf) 值的防护措施,攻击者可借此实现越界访问。(CVE-2023-6040)

- 在 Linux 内核中,在 lib/idr.c 的 ida_free 中发现一个空指针取消引用问题。此问题可能会允许使用此库的攻击者因缺少函数返回检查而造成拒绝服务问题。(CVE-2023-6915)

- 在 Linux 内核的 SMB 客户端子组件中,在 fs/smb/client/smb2ops.c 的 receive_encrypted_standard 中发现越界内存读取缺陷。出现此问题的原因是 memcpy 长度存在整数下溢,从而导致拒绝服务。(CVE-2024-0565)

- 在 Linux 内核的 Netfilter 子系统中发现一个缺陷。问题出在 nft_byteorder_eval() 函数中,其中的代码会在循环中迭代,并写入“dst”数组。每次迭代都会写入 8 个字节,但“dst”是 u32 数组,因此每个元素只有 4 个字节的空间。这意味着每次迭代都会覆盖前一个损坏此 u32 数组的元素的部分。本地用户可利用此缺陷造成拒绝服务或可能破坏 NetFilter 功能。(CVE-2024-0607)

- 当用户调用以 ktls 套接字作为目标的函数 splice 时,在 Linux 内核的传输层安全功能中发现一个越界内存写入缺陷。本地用户可利用此缺陷导致系统崩溃或可能升级其系统权限。(CVE-2024-0646)

- 在 6.7.1 及之前版本的 Linux 内核中,在 net/rds/af_rds.c 的 rds_recv_track_latency 中,RDS_MSG_RX_DGRAM_TRACE_MAX 比较中存在一个大小差一错误,会导致越界访问。(CVE-2024-23849)

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

解决方案

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

另见

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

https://alas.aws.amazon.com/cve/html/CVE-2023-6040.html

https://alas.aws.amazon.com/cve/html/CVE-2023-46838.html

https://alas.aws.amazon.com/cve/html/CVE-2023-6915.html

https://alas.aws.amazon.com/cve/html/CVE-2024-0565.html

https://alas.aws.amazon.com/cve/html/CVE-2024-0607.html

https://alas.aws.amazon.com/cve/html/CVE-2024-0646.html

https://alas.aws.amazon.com/cve/html/CVE-2024-23849.html

https://alas.aws.amazon.com/AL2/ALASKERNEL-5.10-2024-048.html

https://alas.aws.amazon.com/cve/html/CVE-2023-52463.html

https://alas.aws.amazon.com/cve/html/CVE-2023-52469.html

https://alas.aws.amazon.com/cve/html/CVE-2023-52439.html

https://alas.aws.amazon.com/cve/html/CVE-2023-52462.html

https://alas.aws.amazon.com/cve/html/CVE-2023-52467.html

https://alas.aws.amazon.com/cve/html/CVE-2023-52448.html

https://alas.aws.amazon.com/cve/html/CVE-2024-26586.html

插件详情

严重性: High

ID: 190029

文件名: al2_ALASKERNEL-5_10-2024-048.nasl

版本: 1.4

类型: local

代理: unix

发布时间: 2024/2/6

最近更新时间: 2024/5/10

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

风险信息

VPR

风险因素: High

分数: 7.4

CVSS v2

风险因素: High

基本分数: 7.7

时间分数: 5.7

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

CVSS 分数来源: CVE-2024-0565

CVSS v3

风险因素: High

基本分数: 7.8

时间分数: 6.8

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

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

CVSS 分数来源: CVE-2024-0646

漏洞信息

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

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

易利用性: No known exploits are available

补丁发布日期: 2024/2/1

漏洞发布日期: 2024/1/12

参考资料信息

CVE: CVE-2023-46838, CVE-2023-52439, CVE-2023-52448, CVE-2023-52462, CVE-2023-52463, CVE-2023-52467, CVE-2023-52469, CVE-2023-6040, CVE-2023-6915, CVE-2024-0565, CVE-2024-0607, CVE-2024-0646, CVE-2024-23849, CVE-2024-26586