简介
远程 Amazon Linux 2023 主机缺少安全更新。
描述
因此,该软件受到 ALAS2023-2023-344 公告中提及的多个漏洞影响。
wasmtime 是 WebAssembly 的独立运行时。在 6.0.2、 7.0.1 和 8.0.1 之前的版本中,Wasmtime 每个实例状态(例如表和内存)管理的实现过程都包含 LLVM 级别的未定义行为。我们发现,使用 LLVM 16 编译时,这种未定义的行为会导致运行时级别的问题,从而导致一些对于正确性至关重要的写入操作被优化掉。众所周知,使用 Rust 1.70 编译的 Wasmtime 版本(目前处于测试版或更高版本)含有未正确编译的函数,容易受到攻击。我们尚不清楚使用当前 Rust 稳定版本(1.69 及之前版本)编译的 Wasmtime 版本是否存在任何问题,但理论上可能会出现潜在问题。
根本问题在于,Wasmtime 实例的运行时状态涉及一个 Rust 定义的名为“Instance”的结构,该结构后面紧跟一个“VMContext”结构。此“VMContext”结构的布局按运行时定义,并且每个模块的布局都是独一无二的。由于这种表达形式不能用 Rust 中的安全代码来呈现,因此需要用“不安全”代码来维护这种状态。然而,使用这样的代码不仅可以将“&self”作为参数,还能修改分配的“VMContext”部分中的数据。这意味着,源自“&self”的指针会发生突变。在 Rust 中,这种现象通常是不允许的,除非存在“UnsafeCell”。当编译为 LLVM 时,这些函数中包含“noalias readonly”参数,这意味着 UB 可以通过指针进行写入。
在适当的情况下,Wasmtime 内部的“VMContext”表示和管理方法已更新为使用“&mut self”方法。此外,我们计划很快在“main”分支上执行用于 Rust 中“不安全”代码(例如“cargo miri”)的验证工具,以修复未来编译器版本中可能被利用的任何 Rust 级别问题。
GitHub 版本中可用于 Wasmtime 的预编译二进制文件已最大程度上使用 LLVM 15 进行编译,因此不容易受到攻击。不过,如上所述,仍然建议更新。
Wasmtime 版本 6.0.2、7.0.1 和 8.0.1 已发布,其中包含在 LLVM 16 上正常运行所需的补丁,并且 LLVM 15 及更早版本中不存在已知的 UB。如果使用 Rust 1.69 及之前版本(使用 LLVM 15)编译 Wasmtime,则不存在已知问题。然而,理论上还是存在未定义行为被利用的可能性,因此建议用户升级到 Wasmtime 的修补版本。使用 beta 版 Rust(此时为 1.70 )或夜间版 Rust(此时为 1.71 )的用户必须更新到修补版本才能继续正常使用。(CVE-2023-30624)
当交叉编译 c-ares 并使用 Autotools 构建系统时,与交叉编译 aarch64 android 一样,无需设置 CARES_RANDOM_FILE。这将降级为使用 rand() 作为回退可允许攻击者通过不使用 CSPRNG 以利用缺少 entropy 的漏洞。 (CVE-2023-31124)
ares_inet_net_pton() 容易受到某些 ipv6 地址的缓冲区下溢影响尤其是已发现 0::00:00:00/2 会造成问题。C-ares 仅处于配置目的在内部使用此函数,而这需要管理员通过 ares_set_sortlist() 配置此类地址。
但是用户可能会在外部将 ares_inet_net_pton() 用于其他目的因此容易受到更严重问题的影响。 (CVE-2023-31130)
生成 DNS 查询 ID 的随机性不足
当 /dev/urandom 或 RtlGenRandom() 不可用时,c-ares 会使用 rand() 生成用于 DNS 查询 ID 的随机数。这既不是 CSPRNG,也不是由 srand() 植入的,因此将生成可预测的输出。来自随机数生成器的输入被馈送给不合规的 RC4 实现,但它可能不如原始 RC4 实现那样强大。未尝试查找现代操作系统提供的 CSPRNG,例如广泛可用的 arc4random()。(CVE-2023-31147)
拒绝服务。
攻击步骤
目标解析器发送查询。攻击者伪造长度为 0 的畸形 UDP 数据包并将其返回到目标解析器。目标解析器错误地将长度为 0 的解释为连接的正常关闭。仅对 TCP 连接有效UDP 为无连接当前解析失败实现 DoS 攻击。 (CVE-2023-32067)
Tenable 已直接从测试产品的安全公告中提取上述描述块。
请注意,Nessus 尚未测试这些问题,而是只依据应用程序自我报告的版本号进行判断。
解决方案
运行“dnf update ecs-service-connect-agent --releasever 2023.2.20230920”或“dnf update --advisory ALAS2023-2023-344 --releasever 2023.2.20230920”以更新系统。
插件详情
文件名: al2023_ALAS2023-2023-344.nasl
代理: unix
支持的传感器: Frictionless Assessment AWS, Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Continuous Assessment, Nessus
风险信息
矢量: CVSS2#AV:N/AC:L/Au:S/C:C/I:C/A:C
矢量: CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
时间矢量: CVSS:3.0/E:U/RL:O/RC:C
漏洞信息
CPE: p-cpe:/a:amazon:linux:ecs-service-connect-agent, cpe:/o:amazon:linux:2023
必需的 KB 项: Host/local_checks_enabled, Host/AmazonLinux/release, Host/AmazonLinux/rpm-list
易利用性: No known exploits are available