Oracle Linux 8:container-tools:ol8 (ELSA-2024-2988)

high Nessus 插件 ID 197998

简介

远程 Oracle Linux 主机缺少一个或多个安全更新。

描述

远程 Oracle Linux 8 主机上安装的多个程序包受到 ELSA-2024-2988 公告中提及的多个漏洞影响。

- 在 Go 1.16.5 版以及之前的所有版本中,crypto/tls 程序包在执行基于 RSA 的密钥交换时,未正确断言 X.509 证书中的公钥类型符合预期类型,恶意 TLS 服务器会借此造成 TLS 客户端错误。(CVE-2021-34558)

- html/模版程序包没有应用正确的规则来处理出现的 <script, <!--, 情形和 </script within JS literals in ><script> 环境。这可能会导致模板解析器错误地将脚本上下文考虑为提前终止,从而导致操作被错误转义。这可被用于执行 XSS 攻击。(CVE-2023-39319)

- BuildKit 是一种工具包,用于将源代码转换为以高效、富有表现力和可重复的方式构建构件。恶意 BuildKit 客户端或前端可构建请求,导致 BuildKit daemon 因错误而崩溃。此问题已在 v0.12.5 中修复。作为变通方案,避免使用来自不受信任来源的 BuildKit 前端。(CVE-2024-23650)

- 证书链中过大的 RSA 密钥可能会导致客户端/服务器花费大量 CPU 时间来验证签名。通过修复,将握手期间传输的 RSA 密钥大小限制为 <= 8192 位。根据对公众信任的 RSA 密钥的调查,目前流通中的证书中,只有三个的密钥大于此限制,并且这三个证书似乎都是未积极部署的测试证书。私有 PKI 中可能使用了更大的密钥,但我们针对的是 Web PKI,因此,为了提高 crypto/tls 用户的默认安全性,在此处造成中断似乎是合理的。(CVE-2023-29409)

- 具有某些 OpenSSH 扩展的 SSH 传输协议(在 9.6 之前的 OpenSSH 和其他产品中发现)允许远程攻击者绕过完整性检查,从而省略某些数据包(从扩展协商消息中),并且客户端和服务器可能因此而结束某些安全功能已被降级或禁用的连接,也称为 Terrapin 攻击。发生这种情况是因为这些扩展实现的 SSH 二进制数据包协议 (BPP) 错误地处理了握手阶段并错误地处理了序列号的使用。例如,有一种针对 SSH 使用 ChaCha20-Poly1305(以及使用 Encrypt-then-MAC 的 CBC)的有效攻击。绕过发生在 [email protected] 和(如果使用 CBC)[email protected] MAC 算法中。这也会影响 3.1.0-SNAPSHOT 之前的 Maverick Synergy Java SSH API、2022.83 及之前的 Dropbear、Erlang/OTP 中 5.1.1 之前的 Ssh、0.80 之前的 PuTTY、2.14.2 之前的 AsyncSSH、0.17.0 之前的 golang.org/x/crypto 、0.10.6 之前的 libssh、1.11.0 及之前的 libssh2、3.4.6 之前的 Thorn Tech SFTP Gateway、5.1 之前的 Tera Term、3.4.0 之前的 Paramiko、0.2.15 之前的 jsch、2.5.6 之前的 SFTPGo、23.09.1 及之前的 Netgate pfSense Plus、2.7.2 及之前的 Netgate pfSense CE、18.2.0 及之前的 HPN-SSH、1.3.8b 之前(及 1.3.9rc2 之前)的 ProFTPD、2.3.4 之前的 ORYX CycloneSSH、Build 0144 之前的 NetSarang XShell 7、10.6.0 之前的 CrushFTP、2.2.22 之前的 ConnectBot SSH 库、2.11.0 及之前的 Apache MINA sshd、0.37.0 及之前的 sshj、20230101 及之前的 TinySSH、trilead-ssh2 6401、LANCOM LCOS 及 LANconfig、3.66.4 之前的 FileZilla、11.8 之前的 Nova、14.4 之前的 PKIX-SSH、9.4.3 之前的 SecureCRT、5.10.4 之前的 Transmit5、9.5.0.0p1-Beta 之前的 Win32-OpenSSH、6.2.2 之前的 WinSCP、9.32 之前的 Bitvise SSH Server、9.33 之前的 Bitvise SSH Client、0.76.1.13 及之前的 KiTTY、适用于 Ruby 的 net-ssh gem 7.2.0、 1.15.0 之前的 mscdex ssh2 模块(适用于 Node.js)、0.35.1 之前的 thrussh 库(适用于 Rust)以及 0.40.2 之前的 Russh crate(适用于 Rust)。(CVE-2023-48795)

- 在 Go 1.20 之前,基于 RSA 的 TLS 密钥交换使用的是非常量时间的 math/big 库。我们应用了 RSA 伪装来防止定时攻击,但分析表明该措施可能并不完全有效。
特别是,似乎删除 PKCS#1 填充可能会泄漏计时信息,而这反过来又可用于恢复会话密钥位。在 Go 1.20 中,crypto/tls 库切换到完全常量时间 RSA 实现,我们认为它不会出现任何定时侧通道。(CVE-2023-45287)

- 在 Go 语言 1.15.13 版本前以及 1.16.5 之前的 1.16.x 版本中,大指数 math/big.Rat SetString 或 UnmarshalText 方法可能会出现错误。(CVE-2021-33198)

- QUIC 连接在读取握手后消息时不会设置缓冲数据量的上限,因而可促使恶意 QUIC 连接导致无限的内存增长。通过修复,连接现在可持续拒绝大于 65KiB 的消息。(CVE-2023-39322)

- 处理 QUIC 连接的不完整握手后消息时可能会引发恐慌。(CVE-2023-39321)

- 恶意 HTTP 发送方可以使用区块扩展来导致读取请求或响应正文的接收方从网络中读取比正文中更多的字节。当处理程序无法读取请求的整个正文时,恶意 HTTP 客户端可以进一步利用此问题导致服务器自动读取大量数据(最多约 1GiB)。区块扩展是一项很少使用的 HTTP 功能,允许在使用分块编码方式发送的请求或响应正文中包含附加元数据。net/http 分块编码读取器会丢弃此元数据。发送方可以通过在传输的每个字节中插入大的元数据段来利用这一点。如果实体与编码字节的比率变得太小,区块读取器现在会出现错误。(CVE-2023-39326)

- urllib3 是一个用户友好型 Python HTTP 客户端库。先前,当请求方法从可以接受请求正文(如 `POST`)更改为 HTTP RFC 要求的 `GET` 后,urllib3 便不会在 HTTP 重定向响应使用状态 301、302 或 303 时删除 HTTP 请求正文。
尽管重定向部分中没有指定此行为,但可以将不同部分的信息拼凑在一起来推断,而且我们已经在其他主要 HTTP 客户端实现(如 curl 和 Web 浏览器)中观察到该行为。由于该漏洞需在先前受信任的服务遭到损坏后才能对机密性产生影响,因此我们认为该漏洞的可利用性较低。此外,多数用户也不会将敏感数据放入 HTTP 请求正文中,如果是这种情况,则该漏洞无法利用。必须满足以下两个条件才会受到此漏洞的影响:1. 使用 urllib3 并在 HTTP 请求正文中提交敏感信息(例如表单数据或 JSON),而且 2. 源服务会遭到损坏,并会开始使用 301、302 或 303 重定向到恶意对等机,或是出现重定向到的服务遭到损坏的情况。
此问题已在 1.26.18 和 2.0.7 版本中解决,建议用户通过更新来解决此问题。无法更新的用户应禁用服务重定向(不希望通过 `redirects=False` 重定向进行响应),并使用 `redirects=False` 禁用自动重定向,亦可通过剥离 HTTP 请求正文来手动处理 301、302 和 303 重定向。(CVE-2023-45803)

- ReverseProxy 转发的请求包括入站请求的原始查询参数,包括 net/http 拒绝的无法解析的参数。当 Go 代理转发具有不可解析值的参数时,这可能允许查询参数走私。修复后,在 ReverseProxy 之后设置出站请求的表单字段时,ReverseProxy 会审查转发的查询中的查询参数。Director 函数返回即表示代理已解析查询参数。不解析查询参数的代理继续转发不变的原始查询参数。(CVE-2022-2880)

- html/模板程序包无法正确处理 HTML 类的注释标记,亦无法正确处理 <script> 内容脚本中的 hashbang #! 注释标记。这可能会导致模板解析器错误地解释 <script> 内容脚本中的内容,从而导致操作被错误转义。这可被用于执行 XSS 攻击。(CVE-2023-39318)

- urllib3 1.24.2 之前的版本未在进行跨源重定向后(即主机、端口或方案不同的重定向)移除授权 HTTP 标头。授权标头中的凭据可能因此泄露给非预期的主机,或以明文格式传输。注意:此问题是因对 CVE-2018-20060(区分大小写)的修复不完整所致。(CVE-2018-25091)

- Reader.Read 未对文件标头的最大大小设置限制。恶意构建的存档可导致 Read 分配不受限制的内存量,从而可能导致资源耗尽或错误。
修复后,Reader.Read 将标头块的最大大小限制为 1 MiB。(CVE-2022-2879)

- 从不受信任的来源编译正则表达式的程序容易受到内存耗尽或拒绝服务的影响。解析后的 regexp 表示与输入的大小成线性关系,但在某些情况下,常数因子可高达 40,000,使得相对较小的 regexp 消耗大量内存。修复后,每个被解析的 regexp 被限制为 256 MB 内存占用。正则表达式的表示会使用比拒绝的表达式更多的空间。正则表达式的正常使用不受影响。 (CVE-2022-41715)

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

解决方案

更新受影响的程序包。

另见

https://linux.oracle.com/errata/ELSA-2024-2988.html

插件详情

严重性: High

ID: 197998

文件名: oraclelinux_ELSA-2024-2988.nasl

版本: 1.4

类型: local

代理: unix

发布时间: 2024/5/28

最近更新时间: 2024/11/2

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

风险信息

VPR

风险因素: Medium

分数: 6.7

CVSS v2

风险因素: Medium

基本分数: 5

时间分数: 3.9

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

CVSS 分数来源: CVE-2021-33198

CVSS v3

风险因素: High

基本分数: 7.5

时间分数: 6.7

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

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

CVSS 分数来源: CVE-2023-45287

CVSS v4

风险因素: High

Base Score: 8.9

Threat Score: 8.9

Threat Vector: CVSS:4.0/E:P

Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

CVSS 分数来源: CVE-2023-48795

漏洞信息

CPE: p-cpe:/a:oracle:linux:containernetworking-plugins, p-cpe:/a:oracle:linux:aardvark-dns, p-cpe:/a:oracle:linux:podman-docker, cpe:/a:oracle:exadata_dbserver:23.1.16.0.0::ol8, cpe:/o:oracle:linux:8, p-cpe:/a:oracle:linux:podman-plugins, cpe:/a:oracle:exadata_dbserver:24.1.3.0.0::ol8, p-cpe:/a:oracle:linux:podman-tests, p-cpe:/a:oracle:linux:podman-remote, p-cpe:/a:oracle:linux:udica, p-cpe:/a:oracle:linux:skopeo, p-cpe:/a:oracle:linux:criu-devel, cpe:/a:oracle:exadata_dbserver:23.1.12.0.0::ol8, p-cpe:/a:oracle:linux:runc, cpe:/a:oracle:exadata_dbserver:23.1.17.0.0::ol8, p-cpe:/a:oracle:linux:oci-seccomp-bpf-hook, p-cpe:/a:oracle:linux:crun, cpe:/a:oracle:linux:8::appstream, cpe:/a:oracle:exadata_dbserver:24.1.2.0.0::ol8, p-cpe:/a:oracle:linux:libslirp, p-cpe:/a:oracle:linux:criu, cpe:/a:oracle:exadata_dbserver:23.1.13.0.0::ol8, p-cpe:/a:oracle:linux:libslirp-devel, p-cpe:/a:oracle:linux:podman-catatonit, p-cpe:/a:oracle:linux:container-selinux, p-cpe:/a:oracle:linux:netavark, p-cpe:/a:oracle:linux:buildah, p-cpe:/a:oracle:linux:podman-gvproxy, p-cpe:/a:oracle:linux:python3-criu, p-cpe:/a:oracle:linux:skopeo-tests, p-cpe:/a:oracle:linux:conmon, p-cpe:/a:oracle:linux:crit, p-cpe:/a:oracle:linux:containers-common, p-cpe:/a:oracle:linux:cockpit-podman, p-cpe:/a:oracle:linux:slirp4netns, cpe:/a:oracle:linux:8:10:appstream_base, p-cpe:/a:oracle:linux:podman, p-cpe:/a:oracle:linux:criu-libs, cpe:/a:oracle:exadata_dbserver:23.1.14.0.0::ol8, p-cpe:/a:oracle:linux:python3-podman, p-cpe:/a:oracle:linux:fuse-overlayfs, p-cpe:/a:oracle:linux:buildah-tests

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

可利用: true

易利用性: Exploits are available

补丁发布日期: 2024/5/24

漏洞发布日期: 2021/7/15

参考资料信息

CVE: CVE-2018-25091, CVE-2021-33198, CVE-2021-34558, CVE-2022-2879, CVE-2022-2880, CVE-2022-41715, CVE-2023-29409, CVE-2023-39318, CVE-2023-39319, CVE-2023-39321, CVE-2023-39322, CVE-2023-39326, CVE-2023-45287, CVE-2023-45803, CVE-2023-48795, CVE-2024-23650

IAVA: 2024-A-0071

IAVB: 2021-B-0047-S, 2022-B-0042-S, 2023-B-0064-S, 2023-B-0068-S, 2023-B-0080-S, 2023-B-0096-S