Amazon Linux 2:ecs-service-connect-agent (ALASECS-2023-007)

critical Nessus 插件 ID 182066

简介

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

描述

远程主机上安装的 ecs-service-connect-agent 版本低于 v1.27.0.0-1。因此,它受到 ALAS2ECS-2023-007 公告中提及的多个漏洞影响。

- 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 是一种异步解析器库。当交叉编译 c-ares 并使用 Autotools 构建系统时,与交叉编译 aarch64 android 一样,无需设置 CARES_RANDOM_FILE。这会导致降级使用 rand() 作为回退,让攻击者无需使用 CSPRNG 即可利用缺少熵的情况。已在版本 1.19.1 中修补此问题。(CVE-2023-31124)

- c-ares 是一个异步解析器库。ares_inet_net_pton() 容易受到某些 ipv6 地址的缓冲区下溢漏洞影响,尤其是 0: : 00: 00: 00/2 会造成问题。C-ares 仅处于配置目的在内部使用此函数,而这需要管理员通过 ares_set_sortlist() 配置此类地址。但是,用户可能出于其他目的而在外部使用 ares_inet_net_pton(),因此容易受到更严重问题的影响。已在 1.19.1 中修复此问题。(CVE-2023-31130)

- c-ares 是一种异步解析器库。当 /dev/urandom 或 RtlGenRandom() 不可用时,c-ares 会使用 rand() 生成用于 DNS 查询 ID 的随机数。这不是 CSPRNG,也不是由 srand() 植入,因此将生成可预测的输出。来自随机数生成器的输入被馈送给不合规的 RC4 实现,并且可能不如原始 RC4 实现。未尝试查找现代操作系统提供的 CSPRNG,例如广泛可用的 arc4random()。此问题已在 1.19.1 版本中修复。(CVE-2023-31147)

- c-ares 是一个异步解析器库。c-ares 容易遭受拒绝服务攻击。如果目标解析器发送查询,攻击者便会伪造长度为 0 的畸形 UDP 数据包并将其返回给目标解析器。目标解析器将 0 长度错误地解释为正常关闭连接。已在版本 1.19.1 中修补此问题。(CVE-2023-32067)

- Envoy 是一款专为云原生应用程序设计的开源 Edge 和服务代理。在低于 1.27.0、1.26.4、1.25.9、1.24.10 和 1.23.12 的版本中,恶意客户端能够在某些特定情况下构建永久有效的凭据。这是由一些罕见的情况引起的,在这些情况下,HMAC 负载在 OAuth2 过滤器的检查中始终有效。1.27.0、1.26.4、1.25.9、1.24.10 和 1.23.12 版包含针对此问题的修复程序。变通方案是,避免在主机的域配置中使用通配符/前缀域通配符。(CVE-2023-35941)

- Envoy 是一款专为云原生应用程序设计的开源 Edge 和服务代理。在低于 1.27.0、1.26.4、1.25.9、1.24.10 和 1.23.12 的版本中,使用侦听器全局范围的 gRPC 访问记录器在耗尽侦听器时,可造成“释放后使用”崩溃。1.27.0、1.26.4、1.25.9、1.24.10 和 1.23.12 版包含针对此问题的修复程序。变通方案为禁用 gRPC 访问日志或停止侦听器更新。
(CVE-2023-35942)

- Envoy 是一款专为云原生应用程序设计的开源 Edge 和服务代理。在低于 1.27.0、1.26.4、1.25.9、1.24.10 和 1.23.12 的版本中,当移除“origin”标头并在“decodeHeaders”和“encodeHeaders”之间删除时,CORS 过滤器将出现段错误并导致 Envoy 崩溃。1.27.0、1.26.4、1.25.9、1.24.10 和 1.23.12 版包含针对此问题的修复程序。变通方案为,请勿删除 Envoy 配置中的“origin”标头。(CVE-2023-35943)

- Envoy 是一款专为云原生应用程序设计的开源 Edge 和服务代理。Envoy 允许 HTTP/2 中存在混合大小写的方案,但是某些内部方案检查会区分大小写。在低于 1.27.0、1.26.4、1.25.9、1.24.10 和 1.23.12 之前的版本中,这可导致拒绝含有大小写混合方案的请求(例如“htTp”或“htTps”),或绕过某些请求(例如未加密连接中的“https”)。
通过 1.27.0、1.26.4、1.25.9、1.24.10 和 1.23.12 版本中的补丁,Envoy 现在将默认以小写方式处理方案值,并将区分大小写的内部方案检查更改为不区分大小写。
目前尚无针对此问题的解决方案。(CVE-2023-35944)

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

解决方案

运行 'yum update ecs-service-connect-agent' 以更新系统。

另见

https://alas.aws.amazon.com/AL2/ALASECS-2023-007.html

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

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

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

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

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

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

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

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

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

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

插件详情

严重性: Critical

ID: 182066

文件名: al2_ALASECS-2023-007.nasl

版本: 1.1

类型: local

代理: unix

发布时间: 2023/9/27

最近更新时间: 2023/9/28

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

风险信息

VPR

风险因素: Medium

分数: 6.7

CVSS v2

风险因素: Critical

基本分数: 10

时间分数: 7.8

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

CVSS 分数来源: CVE-2023-35941

CVSS v3

风险因素: Critical

基本分数: 9.8

时间分数: 8.8

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

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

漏洞信息

CPE: p-cpe:/a:amazon:linux:ecs-service-connect-agent, cpe:/o:amazon:linux:2

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

可利用: true

易利用性: Exploits are available

补丁发布日期: 2023/9/14

漏洞发布日期: 2023/4/27

参考资料信息

CVE: CVE-2023-30624, CVE-2023-31124, CVE-2023-31130, CVE-2023-31147, CVE-2023-32067, CVE-2023-35941, CVE-2023-35942, CVE-2023-35943, CVE-2023-35944