RHCOS 4:OpenShift Container Platform 4.13.0 (RHSA-2023: 1325)

critical Nessus 插件 ID 189426

简介

远程 Red Hat CoreOS 主机缺少 OpenShift Container Platform 4.13.0 的一个或多个安全更新。

描述

远程 Red Hat Enterprise Linux CoreOS 4 主机上安装的程序包受到 RHSA-2023: 1325 公告中提及的漏洞的影响。

- 0.0 之前的 golang.org/x/crypto/ssh 程序包。Go 的 0-20220314234659-1baeb1ce4c0b 允许攻击者在某些涉及 AddHostKey 的情况下使服务器崩溃。(CVE-2022-27191)

- 如果攻击者可以直接访问受影响的容器,其中使用附属组来设置访问权限,并且能够执行二进制文件,则 Buildah 容器引擎中对附属组的错误处理可能导致敏感信息泄露或可能的数据修改该容器中的代码。 (CVE-2022-2990)

- Openshift 4.9 不使用 HTTP 严格传输安全 (HSTS),这可能让中间人 (MITM) 攻击。(CVE-2022-3259)

- 攻击者可造成接受 HTTP/2 请求的 Go 服务器内存过度增长。HTTP/2 服务器连接包含客户端发送的 HTTP 标头密钥的缓存。尽管此缓存中的条目总数已上限,但攻击者可发送非常大的密钥,从而导致服务器为每个打开的连接分配大约 64 MiB。(CVE-2022-41717)

- Windows 上的 filepath.Clean 中存在一个路径遍历漏洞。在 Windows 上,filepath.Clean 函数可将无效路径转换为有效路径,例如将 a/../c: /b 转换为有效路径 c:\b。这种从相对(如果无效)路径到绝对路径的转换可能会发动目录遍历攻击。修复后,filepath.Clean 函数会将此路径转换为相对(但仍然无效)的路径 。\c:\b。(CVE-2022-41722)

- 恶意构建的 HTTP/2 流可造成 HPACK 解码器过度消耗 CPU,这足以通过少量小请求造成拒绝服务。(CVE-2022-41723)

- 大量握手记录可能会造成 crypto/tls 错误。客户端和服务器都可能发送大型 TLS 握手记录,从而在尝试构造响应时分别造成服务器和客户端错误。这会影响所有 TLS 1.3 版客户端、明确启用会话恢复的 TLS 1.2 版客户端(通过将 Config.ClientSessionCache 设置为非 nil 值)以及请求客户端证书的 TLS 1.3 版服务器(通过设置 Config.ClientAuth >= RequestClientCert)。(CVE-2022-41724)

- net/http 和 mime/multipart 中的过量资源消耗可能导致拒绝服务。
使用 mime/multipart.Reader.ReadForm 进行的多部分表单解析会消耗大量不受限制的内存和磁盘文件。这也会影响使用 Request 方法 FormFile、FormValue、ParseMultipartForm 和 PostFormValue 在 net/http 程序包中进行的表单解析。ReadForm 采用 maxMemory 参数,据记载其在内存中最多可存储 +10MB maxMemory 字节(为非文件部分预留)。无法存储在内存中的文件部分以临时文件的形式存储在磁盘上。为非文件部分保留的不可配置的 10MB 过大,可能会单独打开拒绝服务矢量。但是,ReadForm 没有正确考虑解析的表单消耗的所有内存,例如映射条目开销、部分名称和 MIME 标头,从而允许恶意构建的表单消耗远远超过 10MB。此外,ReadForm 对创建的磁盘文件数量没有限制,允许相对较小的请求正文创建大量磁盘临时文件。修复后,ReadForm 现在可以正确考虑各种形式的内存开销,并且现在应将开销保持在其记录的 10MB + maxMemory 字节内存消耗内。用户仍应意识到此限制较高且可能仍然存在危险。此外,ReadForm 现在至多创建一个磁盘临时文件,从而将多个表单部分合并为一个临时文件。mime/multipart.File 接口类型的文档指出,如果存储在磁盘上,File 的底层具体类型将为 *os.File.。当表单包含多个文件部分时,情况不再如此,这是因为将多个文件部分合并为一个文件所致。可通过环境变量 GODEBUG=multipartfiles=distinct 重新启用之前对每个表单部分使用不同文件的行为。用户应注意,multipart.ReadForm 和调用它的 http.Request 方法不会限制临时文件消耗的磁盘数量。调用方可使用 http.MaxBytesReader 限制表单数据的大小。(CVE-2022-41725)

- 在 HAProxy 中发现不受控制的资源消耗漏洞,此漏洞可导致服务崩溃。经身份验证的远程攻击者可利用此问题,在 OpenShift 群集中运行特制的恶意服务器。此漏洞主要影响可用性。(CVE-2023-0056)

- 在 OpenShift 4.12 和 4.11 中使用的 github.com/openshift/apiserver-library-go 中发现一个缺陷,其中包含的问题可允许低权限用户将其控制的 pod 的 seccomp 配置文件设置为不受限制。默认情况下,restricted-v2 安全环境约束 (SCC) 中使用的 seccomp 配置文件为 runtime/default,允许用户为其创建和修改的 pod 的 seccomp。
(CVE-2023-0229)

- 在 podman 中发现检查时间使用时间 (TOCTOU) 争用缺陷。此问题可能允许恶意用户在导出卷时将卷中的普通文件替换为符号链接,从而可以访问主机文件系统中的任意文件。(CVE-2023-0778)

- Werkzeug 是一个综合性的 WSGI Web 应用程序库。在 2.2.3 之前的版本中,Werkzeug 的多部分表单数据解析器将解析无限数量的部分,包括文件部分。部分可以是少量字节,但每个部分都需要 CPU 时间来解析,并且可能将更多内存用作 Python 数据。如果可以向访问 `request.data`、`request.form`、`request.files` 或 `request.get_data(parse_form_data=False)` 的端点发出请求,则会造成意外的高资源使用率。这允许攻击者通过将构建的多部分数据发送到将对其进行解析的端点来造成拒绝服务。
所需的 CPU 时间量可阻止工作线程处理合法请求。所需的 RAM 量可触发进程的内存不足终止。无限的文件部分会耗尽内存和文件句柄。如果连续发送许多并发请求,可能耗尽或终止所有可用的工作线程。2.2.3 版本包含针对此问题的补丁。(CVE-2023-25577)

- 低于 2.7.3 的 HAProxy 可能允许绕过访问控制,因为在某些情况下无意间丢失 HTTP/1 标头,也称为请求走私。HAProxy 中的 HTTP 标头解析器可能接受空标头字段名称,这可用于截断 HTTP 标头列表,从而使某些标头在针对 HTTP/1.0 和 HTTP/1.1进行解析和处理后消失。对于 HTTP/2 和 HTTP/3,影响是有限的,因为标头在经解析和处理之前就消失了,就好像它们不是由客户端发送的一样。修复后的版本为 2.7.3、2.6.9、2.5.12、2.4.22、2.2.29 和 2.0.31。(CVE-2023-25725)

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

解决方案

根据 RHSA-2023: 0727 公告中的指南更新 RHCOS OpenShift Container Platform 4.13.0 1325.

另见

https://access.redhat.com/security/cve/CVE-2022-2990

https://access.redhat.com/security/cve/CVE-2022-3259

https://access.redhat.com/security/cve/CVE-2022-27191

https://access.redhat.com/security/cve/CVE-2022-41717

https://access.redhat.com/security/cve/CVE-2022-41722

https://access.redhat.com/security/cve/CVE-2022-41723

https://access.redhat.com/security/cve/CVE-2022-41724

https://access.redhat.com/security/cve/CVE-2022-41725

https://access.redhat.com/security/cve/CVE-2023-0056

https://access.redhat.com/security/cve/CVE-2023-0229

https://access.redhat.com/security/cve/CVE-2023-0778

https://access.redhat.com/security/cve/CVE-2023-25577

https://access.redhat.com/security/cve/CVE-2023-25725

https://access.redhat.com/errata/RHSA-2023:1325

插件详情

严重性: Critical

ID: 189426

文件名: rhcos-RHSA-2023-1325.nasl

版本: 1.0

类型: local

代理: unix

发布时间: 2024/1/24

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

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

风险信息

VPR

风险因素: Medium

分数: 6.0

CVSS v2

风险因素: Medium

基本分数: 4.3

时间分数: 3.4

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

CVSS 分数来源: CVE-2022-27191

CVSS v3

风险因素: Critical

基本分数: 9.1

时间分数: 8.2

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

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

CVSS 分数来源: CVE-2023-25725

漏洞信息

CPE: cpe:/o:redhat:enterprise_linux:8:coreos, cpe:/o:redhat:enterprise_linux:9:coreos, p-cpe:/a:redhat:enterprise_linux:buildah, p-cpe:/a:redhat:enterprise_linux:buildah-tests, p-cpe:/a:redhat:enterprise_linux:haproxy22, p-cpe:/a:redhat:enterprise_linux:openshift-clients, p-cpe:/a:redhat:enterprise_linux:openshift-clients-redistributable, p-cpe:/a:redhat:enterprise_linux:openshift-hyperkube, p-cpe:/a:redhat:enterprise_linux:podman, p-cpe:/a:redhat:enterprise_linux:podman-catatonit, p-cpe:/a:redhat:enterprise_linux:podman-docker, p-cpe:/a:redhat:enterprise_linux:podman-gvproxy, p-cpe:/a:redhat:enterprise_linux:podman-plugins, p-cpe:/a:redhat:enterprise_linux:podman-remote, p-cpe:/a:redhat:enterprise_linux:podman-tests, p-cpe:/a:redhat:enterprise_linux:python3-werkzeug, p-cpe:/a:redhat:enterprise_linux:skopeo, p-cpe:/a:redhat:enterprise_linux:skopeo-tests

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

可利用: true

易利用性: Exploits are available

补丁发布日期: 2023/5/18

漏洞发布日期: 2022/3/18

参考资料信息

CVE: CVE-2022-27191, CVE-2022-2990, CVE-2022-3259, CVE-2022-41717, CVE-2022-41722, CVE-2022-41723, CVE-2022-41724, CVE-2022-41725, CVE-2023-0056, CVE-2023-0229, CVE-2023-0778, CVE-2023-25577, CVE-2023-25725

CWE: 20, 22, 327, 367, 400, 444, 665, 770, 842

RHSA: 2023:1325