Splunk Enterprise 8.2.0 < 8.2.12、9.0.0 < 9.0.6、9.1.0 < 9.1.1 (SVD-2023-0808)

critical Nessus 插件 ID 194928

简介

远程 Web 服务器主机上运行的应用程序受到一个漏洞的影响

描述

远程主机上安装的 Splunk 版本低于测试版本。因此,它受到 SVD-2023-0808 公告中提及的漏洞的影响。

- decode-uri-component 0.2.0 版容易受到不当输入验证的影响,从而导致 DoS。(CVE-2022-38900)

- Node.js 12.1.0 之前版本的 got 程序包(也已在 11.8.5 中修复)允许重定向到 UNIX 套接字。
(CVE-2022-33987)

- 在 webpack loader-utils 中,通过 parseQuery.js 中的名称变量,可在 parseQuery.js 的 parseQuery 函数中造成原型污染漏洞。这会影响 1.4.1 和 2.0.3 之前的所有版本。(CVE-2022-37601)

- 8.2.13 之前的程序包 postcss 容易通过 lib/previous-map.js 中的 getAnnotationURL() 和 loadAnnotation() 遭受正则表达式拒绝服务 (ReDoS) 攻击。子模式 \/\*\s* sourceMappingURL=(.*) 是导致漏洞的主要正则表达式。(CVE-2021-23382)

- 在 Color-String 版本 1.5.5 和更低版本中发现一个正则表达式拒绝服务 (ReDOS) 漏洞,当提供应用程序并检查构建的无效 HWB 字符串时会触发此漏洞。
(CVE-2021-29060)

- 这会影响 5.1.2 之前版本的 glob-parent 程序包。enclosure regex 之前用于检查以包含路径分隔符的 enclosure 结尾的字符串。(CVE-2020-28469)

- 在 webpack loader-utils 2.0.0 中,在 interpolateName.js 的 interpolateName 函数中,通过 interpolateName.js 的 resourcePath 变量存在正则表达式拒绝服务 (ReDoS) 缺陷。
(CVE-2022-37599)

- 在 webpack loader-utils 2.0.0 中,在 interpolateName.js 的 interpolateName 函数中,通过 interpolateName.js 的 url 变量存在正则表达式拒绝服务 (ReDoS) 缺陷。
(CVE-2022-37603)

- 在 minimatch 程序包中发现漏洞。当使用特定参数调用 braceExpand 函数时,此缺陷可导致正则表达式拒绝服务 (ReDoS),进而导致拒绝服务。 (CVE-2022-3517)

- moment 是用于解析、验证、操纵和格式化日期的 JavaScript 日期库。据发现,受影响的 moment 版本使用了低效解析算法。具体而言,在 moment 中使用 string-to-date 解析(更确切讲,是默认尝试的 rfc2822 解析)处理特定输入时,复杂性为二的次方 (N^2)。用户可能会注意到,当输入超过 10k 个字符时,处理速度会明显减慢。如果用户将用户提供的字符串传递到 moment 构造函数,而未经健全性长度检查,就容易受到 (Re)DoS 攻击。此问题已在 2.29.4 版中修补,该补丁可应用于调整极少的所有受影响的版本。建议所有用户都进行升级。无法升级的用户应考虑限制接受用户输入的日期长度。(CVE-2022-31129)

- nth-check 容易受到低效正则表达式复杂性的影响 (CVE-2021-3803)

- 程序包 path-parse 的所有版本都容易受到通过 splitDeviceRe、splitTailRe 和 splitPathRe 正则表达式触发的正则表达式拒绝服务攻击 (ReDoS)。ReDoS 呈现多项式最坏情况时间复杂性。(CVE-2021-23343)

- Express 4.17.3 之前版本和其他产品中使用的 qs 6.10.3 之前的版本允许攻击者造成 Express 应用程序的 Node 进程挂起,这是因为可以使用 __ proto__ 密钥。在许多典型的 Express 用例中,未经身份验证的远程攻击者可将攻击负载置于用来访问应用程序的 URL 查询字符串中,例如 a[__proto__]=b&a[__proto__]&a[length]=100000000。此补丁已向后移植到 qs 6.9.7、6.8.3、6.7.3、6.6.1、6.5.3、6.4.1、6.3.3 和 6.2.4(因此 Express 4.17.3 不易受到攻击,因为其版本说明中包含 deps: qs@6.9.7)。(CVE-2022-24999)

- 在低于 v8.0.0 版的 libcurl 中存在身份验证绕过漏洞,尽管修改了 SSH 选项,但该漏洞仍会重用之前建立的 SSH 连接,而不是阻止重用。libcurl 维护一个之前使用过的连接池,以在配置匹配时将其重新用于后续传输。但是,配置检查中忽略了两个 SSH 设置,从而使这两个设置可以轻松匹配,进而可能导致重复使用不适当的连接。(CVE-2023-27538)

- 在低于 8.0.0 版的 libcurl 中,若在单独的句柄之间共享 HSTS 数据,则会出现双重释放漏洞。
引入此共享时未考虑在单独的线程之间执行此共享,但文档未对此情况进行说明。由于缺少互斥体或线程锁,共享相同 HSTS 数据的两个线程可能以执行双重释放或释放后使用而告终。(CVE-2023-27537)

- 在低于 8.0.0 版的 libcurl 的连接重用功能中存在认证绕过漏洞,由于未能检查 CURLOPT_GSSAPI_DELEGATION 选项中的更改,该漏洞可重用之前建立的连接。此漏洞会影响 krb5/kerberos/negotiate/GSSAPI 传输,并可能导致对敏感信息进行未经授权的访问。最安全的做法是在 CURLOPT_GSSAPI_DELEGATION 选项已更改时不重复使用连接。(CVE-2023-27536)

- 在低于 8.0.0 版的 libcurl 中,FTP 连接重用功能中存在一个认证绕过漏洞,可导致在后续传输期间使用错误的凭据。之前创建的连接如果与当前设置匹配,则会保留在连接池中以供重用。但是,某些 FTP 设置(例如 CURLOPT_FTP_ACCOUNT、CURLOPT_FTP_ALTERNATIVE_TO_USER、CURLOPT_FTP_SSL_CCC 和 CURLOPT_USE_SSL)未包含在配置匹配检查中,进而导致它们过于容易匹配。这可能导致 libcurl 在执行传输时使用错误的凭据,从而可能允许对敏感信息进行未经授权的访问。(CVE-2023-27535)

- 在低于 8.0.0 版的 curl 的 SFTP 实现中存在一个路径遍历漏洞,除波浪号 (~) 字符预期用作第一个元素以指示相对于用户主目录的路径外,该漏洞会导致波浪号 (~) 字符在第一个路径元素中用作前缀时被错误替换。攻击者可在使用特定用户访问服务器时,通过构建类似 /~2/foo 的路径,利用此缺陷绕过过滤或执行任意代码。(CVE-2023-27534)

- 使用 TELNET 协议进行通信期间,低于 8.0 版的 curl 的输入验证存在漏洞,可能允许攻击者在服务器协商期间传递恶意构建的用户名和 telnet 选项。
缺少正确的输入以清理允许攻击者在没有应用程序意图的情况下发送内容或执行选项协商。如果应用程序允许用户输入,则攻击者可利用此漏洞,进而能够在系统上执行任意代码。(CVE-2023-27533)

- 在基于链接的 HTTP 压缩算法且版本低于 v7.88.0 的 curl 中存在配置资源时无限制或节流的漏洞,这意味着服务器响应可被多次压缩,并且可能使用不同的算法。已针对此解压缩链中可接受的链接数量设置上限,但该上限基于每个标题设置,所以恶意服务器仅使用许多标头即可插入几乎无数量上限的压缩步骤。使用此类解压缩链可导致 malloc 炸弹,使 curl 最终消耗大量分配的堆内存,或尝试并返回内存不足错误。(CVE-2023-23916)

- curl <v7.88.0 中存在敏感信息明文传输漏洞,当同时请求多个 URL 时,可能导致 HSTS 功能表现不当。如使用 HSTS 支持,即使在 URL 中提供了 HTTP,仍可指示 curl 使用 HTTPS,而不是使用不安全的明文 HTTP 步骤。然而,当并行完成多个传输时,此 HSTS 机制会出人意料地失败,因为 HSTS 缓存文件被最近完成的传输覆盖。之后向之前主机名的仅 HTTP 传输将*不会*正确升级到 HSTS。
(CVE-2023-23915)

- curl <v7.88.0 中存在敏感信息明文传输漏洞,当连续请求多个 URL 时,可能导致 HSTS 功能失败。如使用 HSTS 支持,即使在 URL 中提供了 HTTP,仍可指示 curl 使用 HTTPS,而不是使用不安全的明文 HTTP 步骤。然而,令人意外的是,当在相同命令行上完成时,此 HSTS 机制会被后续传输忽略,因为状态不会正确维持下去。 (CVE-2023-23914)

- curl <7.87.0 中存在释放后使用漏洞。可要求 Curl 通过 HTTP 代理*传输*其支持的几乎所有协议。HTTP 代理可以(而且经常会)拒绝此类传输操作。
如果传输特定协议 SMB 或 TELNET 被拒,Curl 会在其传输关闭代码路径中使用已释放的堆分配结构。(CVE-2022-43552)

- curl <7.87.0 HSTS 检查中存在漏洞,攻击者可绕过检查以诱骗程序继续使用 HTTP。
如使用 HSTS 支持,即使在 URL 中提供了 HTTP,仍可指示 curl 使用 HTTPS,而不是使用不安全的明文 HTTP 步骤。但是,如果给定 URL 中的主机名首先使用在 IDN 转换过程中被替换为 ASCII 对应项的 IDN 字符,则可以绕过 HSTS 机制。就像使用 UTF-8 U+3002 (IDEOGRAPHIC FULL STOP) 字符,而不是通用的 ASCII 句号 (U+002E)“.”。然后在后续请求中,程序不会检测 HSTS 状态并进行明文传输。这是因为它会存储经 IDN 编码的信息,但查找经 IDN 解码的信息。(CVE-2022-43551)

- 在 7.86.0 版之前的 curl 中,可绕过 HSTS 检查以诱骗其继续使用 HTTP。使用其 HSTS 支持,即使在 URL 中提供 HTTP 时,也可指示 curl 直接使用 HTTPS,而不是使用不安全的明文 HTTP 步骤。如果给定 URL 中的主机名使用在 IDN 转换过程中被 ASCII 对应项替换的 IDN 字符,则可绕过此机制。例如使用字符 UTF-8 U+3002 (IDEOGRAPHIC FULL STOP) 而不是通用 ASCII 句号 U+002E (.)。
低于 7.77.0 2021-05-26 的版本均受影响。(CVE-2022-42916)

- 在 7.86.0 版之前的 curl 中存在双重释放。如果指示 curl 使用 HTTP 代理进行具有非 HTTP URL 的传输,它会通过向代理发出 CONNECT 请求来与远程服务器建立连接,然后使协议的其余部分通过隧道。HTTP 代理可能拒绝此请求(HTTP 代理通常只允许传出连接至特定端口号,例如 HTTPS 的 443),而向客户端返回非 200 状态代码。由于错误/清理处理中的缺陷,如果在 URL 中使用以下方案之一进行传输,则这可能在 curl 中触发双重释放:dict、gopher、gophers、ldap、ldaps、rtmp、rtmps 或 telnet。低于 7.77.0 的版本均受影响。(CVE-2022-42915)

- 可指示 curl 解析 `.netrc` 文件以获取凭据。如果该文件以具有 4095 个连续非空白字符且无换行符的行结尾,则 curl 将首先读取超过基于堆栈的缓冲区的末尾,如果是 readworks,则写入一个超出其边界的零字节。在大多数情况下此问题会造成段错误或类似问题,但不同的环境也可能造成不同的结果。如果恶意用户可以向应用程序提供自定义 netrc 文件,或以其他方式影响其内容,则此缺陷可被用作拒绝服务。(CVE-2022-35260)

- 在进行 HTTP(S) 传输时,如果之前使用相同的句柄发出 `PUT` 请求(使用读取回调 (`CURLOPT_READFUNCTION`)),即使设置了 `CURLOPT_POSTFIELDS` 选项,libcurl 可能会错误地使用该回调来请求发送数据。此缺陷可能会使应用程序发生意外并导致其行为不当,并在后续的 `POST` 请求中发送错误的数据或使用释放后的内存或类似内容。从 PUT 更改为 POST 时,重用句柄的逻辑中存在此问题。(CVE-2022-32221)

- 当 curl 用于检索和解析来自 HTTP(S) 服务器的 cookie 时,它使用控制代码接受 cookie,这些代码稍后被发送回 HTTP 服务器时可能会使服务器返回 400 响应。
有效地令辅助站点拒绝向所有同级站点提供服务。(CVE-2022-35252)

- 低于 7.84.0 版的 curl 在执行受 krb5 保护的 FTP 传输时,会错误处理消息验证失败。
攻击者可利用此缺陷执行中间人攻击而不被发现,甚至可以向客户端注入数据。(CVE-2022-32208)

- 低于 7.84.0 版的 curl 将 cookie、alt-svc 和 hsts 数据保存到本地文件时,会通过将临时名称重命名为最终目标文件名称来完成操作,从而使该操作成为原子型操作。在该重命名操作中,它可能会意外*放宽*对目标文件的权限,使更多用户可访问更新后的文件。(CVE-2022-32207)

- curl 7.84.0 以下版本支持链接的 HTTP 压缩算法,这意味着服务器响应可被多次压缩,并且可能使用不同的算法。此解压缩链中可接受的链接数量不受限制,因此恶意服务器可以插入数量几乎无限制的压缩步骤。使用此类解压缩链可能导致 malloc 炸弹,使 curl 最终消耗大量分配的堆内存,或尝试并返回内存不足错误。(CVE-2022-32206)

- 恶意服务器可以在对 curl 的 HTTP 响应中提供过量的“Set-Cookie:”标头,而 curl 7.84.0 之前的版本会存储所有这些标头。数量够多(大)的 cookie 会向此服务器或这些 cookie 相匹配的其他服务器发出后续 HTTP 请求,从而使创建的请求超过 curl 为避免发送过大请求(1048576 字节)而在内部使用的阈值,而没有返回错误。只要保留和匹配这些 cookie 并且它们未过期,此拒绝状态就可能持续存在。由于 cookie 匹配规则,“foo.example.com”上的服务器可以设置匹配“bar.example.com”的 cookie,从而使同级服务器可以有效造成相同二级域上使用此方法的同级网站拒绝服务。(CVE-2022-32205)

- 使用其 HSTS 支持,即使在 URL 中提供 HTTP 时,也可指示 curl 直接使用 HTTPS,而不是使用不安全的明文 HTTP 步骤。如果给定 URL 中的主机名使用了结尾点而未使用构建 HSTS 缓存时的结尾点,则可绕过此机制。或者反过来
- 在 HSTS 缓存中使用结尾点,而*不在* URL 中使用结尾点。
(CVE-2022-30115)

- 即便已更改 TLS 或 SSH 相关选项,libcurl 仍会重复使用以前创建的连接,而这些连接本应禁止重复使用。如果其中一个连接与设置匹配,libcurl 会将以前用过的连接保留在连接池中,以便后续传输重复使用。但是,配置匹配检查会遗漏多个 TLS 和 SSH 设置,使匹配变得过于容易。(CVE-2022-27782)

- libcurl 提供“CURLOPT_CERTINFO”选项,以允许应用程序请求返回有关服务器证书链的详细信息。由于使用错误函数,恶意服务器可造成使用 NSS 构建的 libcurl 在尝试检索此信息时被卡在忙碌等待的死循环中。
(CVE-2022-27781)

- 解码 URL 的主机名部分时,curl URL 解析器会错误接受诸如“/”的以百分号编码的 URL 分隔符,从而使其在以后检索时成为使用错误主机名的*不同* URL。例如,解析器会允许诸如 `http://example.com%2F127.0.0.1/` 的 URL 并将其转置为 `http://example.com/127.0.0.1/`。攻击者可利用此缺陷避开筛选和检查等。
(CVE-2022-27780)

- 如果主机名以一个点结尾,libcurl 会错误允许为顶级域 (TLD) 设置 cookie。可指示 curl 接收和发送 cookie。在构建 curl 的 cookie 引擎时,可以使用 [公共后缀列表],也可以不使用 (https://publicsuffix.org/)awareness。如果不提供 PSL 支持,则需要初步检查,以至少防止在 TLD 上设置 cookie。如果 URL 中的主机名以一个点结尾,此检查会被中断。这可允许任意站点设置 cookie,然后将其发送至不同且不相关的站点或域。(CVE-2022-27779)

- 当“--no-clobber”与“--remove-on-error”一起使用时,7.83.1 版中已修复的使用错误解析的名称漏洞可能会删除错误的文件。(CVE-2022-27778)

- curl 7.83.0 版中修复的凭据保护不充分漏洞可能会在 HTTP 重定向到相同主机不同端口号时泄漏身份验证或 Cookie 标头数据。(CVE-2022-27776)

- curl 7.65.0 至 7.82.0 中存在信息泄露漏洞,在使用连接池中具有不同区域 ID 的 IPv6 地址时,它可能会重复使用连接。(CVE-2022-27775)

- curl 4.9 至 7.82.0 版(含)存在凭据保护不充分漏洞,允许攻击者在遵循身份验证中结合使用的 HTTP(S) 重定向时提取凭据,将凭据泄露给不同协议或端口号上的其他服务。
(CVE-2022-27774)

- curl 7.33.0 至 7.82.0(含)版本中存在一个不当认证漏洞,从而可能允许在未正确确保已使用为传输设置的相同凭据来认证连接的情况下,重复使用经 OAUTH2 认证的连接。这会影响启用 SASL 的协议:SMPTP(S)、IMAP(S)、POP3(S) 和 LDAP(S)(仅限 openldap)。(CVE-2022-22576)

- 当 7.20.0、7.78.0 及其之间的 curl 版本连接到 IMAP 或 POP3 服务器以使用 STARTTLS 检索数据进而升级到 TLS 安全时,服务器可以响应并立即发回 curl 缓存的多个响应。
然后,curl 会升级至 TLS,但不会刷新缓存响应的队列,而是继续使用和信任其在 TLS 握手*之前*获得的响应,就好像这些响应已经过身份验证一样。中间人攻击者可使用此缺陷,首先注入虚假响应,然后传递来自合法服务器的 TLS 流量,并诱使 curl 认为攻击者注入的数据来自受 TLS 保护的服务器,从而向用户发回数据。(CVE-2021-22947)

- 用户可以在与 IMAP、POP3 或 FTP 服务器通信时,告知 7.20.0、7.78.0 及其之间的 curl 版本需要成功升级至 TLS(命令行的 `--ssl-reqd` 或`CURLOPT_USE_SSL` 设置为带有 libcurl 的 `CURLUSESSL_CONTROL` 或 `CURLUSESSL_ALL`)。如果服务器返回构建正确且完全合法的响应,则可绕过此要求。此缺陷将使 curl 默默地继续其操作
**无 TLS** 违反说明和预期,可通过网络以明文形式暴露可能的敏感数据。(CVE-2021-22946)

- 向 MQTT 服务器发送数据时,libcurl <= 7.73.0 和 7.78.0 版在某些情况下可能会错误地保留指向已释放内存区域的指针,并在后续调用中再次使用该指针来发送数据,并*再次* 释放。(CVE-2021-22945)

- libcurl-using 应用程序可要求在传输中使用特定的客户端证书。这一要求可通过 `CURLOPT_SSLCERT` 选项(命令行工具的 `--cert`)完成。当 libcurl 被构建为使用 macOS 本机 TLS 库安全传输时,应用程序可通过相同的选项,按名称或文件名请求客户端证书。如果名称以文件形式存在,则将使用文件而非名称。如果应用程序在可由其他用户写入的当前工作目录(如“/tmp”)下运行,恶意用户可使用与应用程序要使用的名称相同的名称,从而诱骗应用程序使用基于文件的证书,而不是名称引用的证书,从而使 libcurl 在 TLS 连接握手中发送错误的客户端证书。(CVE-2021-22926)

- curl 支持“-t”命令行选项,在 libcurl 中称为“CURLOPT_TELNETOPTIONS”。这个极少使用的选项用于将 variable=content 对发送到 TELNET 服务器。由于用于发送“NEW_ENV”变量的选项解析器中存在一个缺陷,可以让 libcurl 将未初始化的数据从基于堆栈的缓冲区传递到服务器。因此,可能会使用明文网络协议向服务器显示敏感的内部信息。发生这种情况的原因是 curl 在解析应用程序提供的字符串时未正确调用和使用 sscanf()。(CVE-2021-22925)

- LibCurl 将先前使用的连接保留在连接池中,以供后续传输重新使用(如果其中一个连接与设置匹配)。由于逻辑错误,配置匹配函数没有考虑“发行者证书”,且比较了涉及路径中的*不区分大小写*,这可导致 LibCurl 重新使用错误的连接。文件路径在许多系统中会(或可能)区分大小写,但不是全部,并且甚至会因使用的文件系统而不同。比较中未包括“发行者证书”,传输可对其进行设置,以限制验证服务器的方式。 (CVE-2021-22924)

- 当 curl 收到使用 metalink 功能获取内容的指示时,并使用用户名和密码下载 metalink XML 文件时,这些相同凭据随后会被传递到 curl 将从其下载或尝试下载内容的每个服务器。通常违背用户的预期和意图,并且未将发生的情况告知用户。(CVE-2021-22923)

- 当 curl 收到使用 metalink 功能下载内容的指示时,将根据 metalink XML 文件中提供的哈希验证内容。metalink XML 文件向客户端指出如何从一组不同的 URL 获取相同的内容(可能由不同的服务器托管),随后客户端便可从一个或多个 URL 下载该文件。以串行或并行方式。如果托管内容的某个服务器遭到破坏,且该服务器上特定文件的内容被修改后的负载替换,则在下载完成后,curl 会在文件的哈希值不匹配时检测到这一点。
客户端应该删除这些内容,并尝试从另一个 URL 获取内容。此操作未完成,而是仅在文本中提及此类哈希不匹配,并且可能的恶意内容将被保留在磁盘上的文件中。(CVE-2021-22922)

- curl 7.75.0 至 7.76.1 受到释放后使用漏洞的影响,导致 1.3 TLS 会话票证通过连接到达时使用已释放的内存。在极少数不够幸运的情况下,恶意服务器可利用此漏洞,在客户端造成远程代码执行。当 libcurl 在运行时对使用 OpenSSL 的连接设置对 TLS 1.3 会话票证的支持时,会存储指向传输内存对象的指针,以便稍后在会话票证到达时进行检索。如果多个传输使用了该连接(例如通过重用的 HTTP/1.1 连接或多路复用 HTTP/2 连接),则在该连接上建立新会话之前,第一个传输对象可能会被释放,然后该函数将访问可能被释放的内存缓冲区。使用该内存时,libcurl 甚至可能调用对象中的函数指针,如果服务器能够以某种方式将构建的内存内容放入内存中的正确位置,则可能执行远程代码。(CVE-2021-22901)

- 当“-t”命令行选项(在 libcurl 中称为“CURLOPT_TELNETOPTIONS”)用于将 variable=content 对发送到 TELNET 服务器时,curl 7.7 到 7.76.1 受到信息泄露漏洞的影响。用于发送 NEW_ENV 变量的选项解析器中存在一个缺陷,因此 libcurl 可能会被用于将未初始化的数据从基于堆栈的缓冲区传递到服务器,从而可能导致使用明文网络协议将敏感的内部信息泄露给服务器。(CVE-2021-22898)

- 当 libcurl 被构建为使用 Schannel TLS 库时,由于 CURLOPT_SSL_CIPHER_LIST 的代码中存在错误,curl 7.61.0 到 7.76.1 受到暴露于错误会话的影响。所选密码集存储在库中的单个静态变量中,其具有令人意外的副作用,即如果应用程序设置了多个并发传输,则设置密码的最后一个传输将意外控制所有传输使用的密码集。在最坏的情况下,这会大大削弱传输安全性。(CVE-2021-22897)

- curl 7.63.0 至 7.75.0(含)版存在漏洞,由于应用程序未正确处理 TLS 1.3 会话票证,恶意 HTTPS 代理可对连接执行 MITM 攻击。使用 HTTPS 代理和 TLS 1.3 时,libcurl 可能会混淆从 HTTPS 代理收到的会话票证,并在运行时将其视同从远程服务器收到的票证,然后错误地以快捷方式与主机握手。当混淆票证时,HTTPS 代理可诱骗 libcurl 使用主机的错误会话票证恢复,从而规避服务器 TLS 证书检查,使攻击者有可能执行 MITM 攻击而不被发现。 请注意,此类恶意 HTTPS 代理需要为充当中间人的服务器提供 curl 接受的证书才能执行攻击,除非 curl 被告知忽略服务器证书检查。(CVE-2021-22890)

- curl 7.1.1 至 7.75.0 版(包括后者)容易受到通过泄漏 HTTP Referer: 标头中的凭据向未经授权的攻击者暴露隐私个人信息的影响。在出站 HTTP 请求中自动填充 Referer: HTTP 请求标头字段时,libcurl 不会从 URL 中剥离用户凭据,因此有可能将敏感数据泄漏给第二个 HTTP 请求的目标服务器。(CVE-2021-22876)

- curl 7.41.0 到 7.73.0 容易受到证书吊销检查不当的影响,这是未充分验证 OCSP 响应所致。(CVE-2020-8286)

- curl 7.21.0 到 7.73.0(包含)的版本容易受到非受控递归的攻击,这是 FTP 通配符匹配解析中的堆栈溢出问题所致。(CVE-2020-8285)

- 恶意服务器可使用 FTP PASV 响应诱骗 curl 7.73.0 及更早版本连接回给定的 IP 地址和端口,而这种方式可能会让 curl 提取有关非公开且不应披露的服务的信息,例如进行端口操作扫描和服务标题提取。
(CVE-2020-8284)

- 由于使用悬垂指针,libcurl 7.29.0 到 7.71.1 的版本会在发送数据时使用错误的连接。(CVE-2020-8231)

- curl 7.20.0 - 7.70.0 容易受到未正确限制文件和其他资源名称的影响,在使用 -J 标记时,此漏洞可导致覆盖本地文件。(CVE-2020-8177)

- curl 7.62.0 到 7.70.0 版容易受到信息泄露漏洞的影响,可导致通过网络将部分密码泄漏给 DNS 服务器。(CVE-2020-8169)

- 在 Windows 系统上的 Go 1.17.11 和 Go 1.18.3 之前版本中,路径/文件路径清理中会发生某些无效路径被错误转换为有效的绝对路径,这可能导致目录遍历攻击。(CVE-2022-29804)

- 在 1.17.13 和 1.18.5 之前的 Go 的 math/big 中,编码过短的消息可能导致 Float.GobDecode 和 Rat GobDecode 发生错误,从而可能造成拒绝服务。(CVE-2022-32189)

- Go 1.17.12 和 Go 1.18.4 之前的版本中,net/http 中不当暴露客户端 IP 地址可通过使用包含 X-Forwarded-For 标头的 nil 值的 Request.Header 映射调用 httputil.ReverseProxy.ServeHTTP 来触发,这会造成 ReverseProxy 将客户端 IP 设置为 X-Forwarded-For 标头的值。(CVE-2022-32148)

- Go 1.17.12 和 Go 1.18.4 之前的版本中,encoding/gob 中的 Decoder.Decode 中不受控制的递归允许攻击者通过包含深度嵌套结构的消息,由于堆栈耗尽而造成错误。
(CVE-2022-30635)

- Go 1.17.12和 Go 1.18.4 之前的版本中,encoding/xml 中的 Unmarshal 中不受控制的递归允许攻击者通过将 XML 文档解组到具有使用“any”字段标记的嵌套字段的 Go 结构中来造成错误。(CVE-2022-30633)

- Go 1.17.12 和 Go 1.18.4 之前版本中,path/filepath 中的 Glob 中不受控制的递归允许攻击者通过包含大量路径分隔符的路径,由于堆栈耗尽而造成错误。
(CVE-2022-30632)

- Go 1.17.12 和 Go 1.18.4 之前版本中,compress/gzip 中的 Reader.Read 中不受控制的递归允许攻击者通过包含大量连接的 0 长度压缩文件的存档,由于堆栈耗尽而造成错误。(CVE-2022-30631)

- Go 1.17.12 和 Go 1.18.4 之前的 Glob 中不受控制的递归允许攻击者通过包含大量路径分隔符的路径,由于堆栈耗尽而造成错误。
(CVE-2022-30630)

- Go 1.17.11 和 Go 1.18.3 之前的版本中,crypto/tls 中会话票证中 ticket_age_add 的非随机值会让攻击者能够观察 TLS 握手,以在会话恢复期间通过比较票证使用时间来关联连续的连接。(CVE-2022-30629)

- 在 Go 1.17.11 和 Go 1.18.3 之前版本中,os/exec 中的 Cmd.Start 存在代码注入漏洞,这允许通过调用 Cmd.Run、Cmd.Start、Cmd.Output 或 Cmd.CombinedOutput(未设置 Cmd.Path 时)来执行名为 ..com 或 .exe 的工作目录中的任何二进制文件。(CVE-2022-30580)

- Go 1.17.12 和 Go 1.18.4 之前的版本中,encoding/xml 中的 Decoder.Skip 中不受控制的递归允许攻击者通过深度嵌套的 XML 文档引起堆栈耗尽,从而造成错误。(CVE-2022-28131)

- Go 1.17.12 和 Go 1.18.4 之前版本中,go/parser 函数中不受控制的递归允许攻击者通过深度嵌套的类型或声明造成堆栈耗尽。(CVE-2022-1962)

- 在 Go 1.17.12 和 Go 1.18.4 版之前的 net/http 的 HTTP/1 客户端中接受某些无效的 Transfer-Encoding 标头后,如果与同样未能将标头正确拒绝为无效的中间服务器结合,则允许 HTTP 请求走私。(CVE-2022-1705)

- 在 Windows 系统上的 Go 1.17.11 和 Go 1.18.3 之前版本中, crypto/rand 的 Read 存在无限循环,这允许攻击者通过传递大于 1 << 32 - 1 字节的缓冲区来造成无限期挂起。(CVE-2022-30634)

- Go 在 1.17.10 之前的版本和在 1.18.2 之前的 1.18.x 版本中权限分配不正确。当使用非零标记参数调用时,Faccessat 函数可能错误地报告文件可访问。
(CVE-2022-29526)

- 在 Go 1.17.9 之前版本以及 1.18.x 1.18.1 之前版本中,crypto/elliptic 的通用 P-256 特征允许通过长标量输入造成错误。(CVE-2022-28327)

- 在 Go 1.17.9 之前版本以及 1.18.x 的 1.18.1 之前版本中,encoding/pem 允许通过大量 PEM 数据造成解码堆栈溢出。(CVE-2022-24675)

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

- Go 1.16.15 之前版本以及 Go 1.17.x 至 1.17.8 版本中的 regexp.Compile 允许通过深度嵌套的表达式耗尽堆栈。(CVE-2022-24921)

- Go 1.16.14 之前版本以及 Go 1.17.x 至 1.17.7 版本的 crypto/elliptic 中的 Curve.IsOnCurve 在 big.Int 值不是有效字段元素的情况下,可能会错误地返回 true。(CVE-2022-23806)

- Go 1.16.14 之前版本和 1.17.x 至 1.17.7 版本中的 cmd/go 可能会错误地将分支名称解读为版本标记。如果执行者能够创建分支但不能创建标签,则这可能导致错误控制访问权限。(CVE-2022-23773)

- Go 1.16.14 之前版本以及 Go 1.17.x 至 1.17.7 版本的 math/big 的 Rat.SetString 中存在溢出漏洞,该漏洞可能导致不受控制的内存消耗问题。(CVE-2022-23772)

- 在 Go 1.16.8 之前版本和 1.17.x 至 1.17.1 版本中,archive/zip 中的一个构建的 archive 标头(错误地指定存在许多文件)可能会造成 NewReader 或 OpenReader 错误。注意:存在此问题的原因是对 CVE-2021-33196 的修复不完整。(CVE-2021-39293)

- 在 1.16.12 版之前的 Go 和 1.17.x 版之前的 Go 1.17.5 中,net/http 允许通过 HTTP/2 请求在标头规范化缓存中消耗不受控制的内存。(CVE-2021-44716)

- 在 UNIX 上,1.16.12 之前的 Go 版本和 1.17.5 之前的 Go 1.17.x 版本允许对非预期文件或非预期网络连接执行写入操作,原因是在文件描述符耗尽后错误关闭文件描述符 0。(CVE-2021-44717)

- Go 1.16.10 之前版本以及 Go 1.17.x 至 1.17.3 版本允许通过构建具有无效名称或空文件名字段的 ZIP 存档来造成 archive/zip Reader.Open 故障。(CVE-2021-41772)

- 1.16.10 之前的 Go 版本和 1.17.3 之前的 Go 1.17.x 版本的 debug/macho(适用于 Open 或 OpenFat)中的 ImportedSymbols 会访问缓冲区末尾之后的内存位置,此情况也称为“越界切片”。
(CVE-2021-41771)

- 在 Go 1.16.9 之前版本以及 Go 1.17.x 至 1.17.2 版本中使用 GOARCH=wasm GOOS=js 时,通过大型参数从 WASM 模块调用函数会产生缓冲区溢出问题。(CVE-2021-38297)

- 在低于 1.15.15 的 Go 版本和低于 1.16.7 的 1.16.x 版本中存在争用条件,可在 ErrAbortHandler 中止时导致 net/http/httputil ReverseProxy 错误。(CVE-2021-36221)

- Go 1.17 之前版本未正确考虑 IP 地址八进制开头的无关零字符,由于非预期的八进制解释,这(在某些情况下)允许攻击者绕过基于 IP 地址的访问控制。这影响 net.ParseIP 和 net.ParseCIDR。(CVE-2021-29923)

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

- 在 Go 语言 1.15.13 版本前以及 1.16.5 之前的 1.16.x 版本中,反向代理的部分配置(来自 net/http/httputil)导致攻击者能够终止任意标头。
(CVE-2021-33197)

- Go 1.15.13 之前版本和 1.16.x 的 1.16.5 之前版本中,归档/zip 中特制的文件数(在归档的标头内)可能会造成 NewReader 或 OpenReader 错误。(CVE-2021-33196)

- 在低于 1.15.13 的 Go 版本以及低于 1.16.5 的 1.16.x 版本中,用于 DNS 查找的函数未验证来自 DNS 服务器的回复,因此返回值可能包含不符合 RFC1035 格式的不安全注入(例如 XSS)。(CVE-2021-33195)

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

- 在 1.15.12 之前的 Go 和 1.16.4 之前的 Go 1.16.x 中,net/http 允许远程攻击者通过 ReadRequest 或 ReadResponse 的大型标头造成拒绝服务(错误)。某些配置中的服务器、传输和客户端均有可能受到影响。(CVE-2021-31525)

- v0.0.0-20210520170846-37e1c6afe023 之前的 golang.org/x/net 可让攻击者通过特制的 ParseFragment 输入造成拒绝服务(无限循环)。(CVE-2021-33194)

- 在 Go 1.16.x 的 1.16.1 之前版本中,archive/zip 允许攻击者在对任何文件名开头出现 ../ 的 ZIP 存档尝试使用 Reader.Open API 时造成程序拒绝服务(发生错误)。(CVE-2021-27919)

- 如果自定义 TokenReader(针对 xml.NewTokenDecoder)在元素中间返回 EOF,则低于 1.15.9 的 Go 和低于 1.16.1 的 1.16.x 中的 encoding/xml 会出现无限循环。此问题会发生在 Decode、DecodeElement 或 Skip 方法中。(CVE-2021-27918)

- 在 Go 1.18.x 版的 1.18.1 之前版本中,当提供某些格式错误的证书时, crypto/x509 中的 Certificate.Verify 可能会在 macOS 上造成错误。这允许远程 TLS 服务器造成 TLS 客户端错误。(CVE-2022-27536)

- 攻击者可构建需要 ParseAcceptLanguage 花费大量时间来解析的 Accept-Language 标头,从而造成拒绝服务。(CVE-2022-32149)

- 当使用 Lexer 类进行解析时,1.2.2 之前版本的 Sqlalchemy mako 容易受到正则表达式拒绝服务漏洞的影响。此漏洞也会影响 babelplugin 和 linguaplugin。(CVE-2022-40023)

- 如果 x/crypto/ssh 程序包版本低于 golang.org/x/crypto 0.0.0-20211202192323-5770296d904e,攻击者则可以造成 SSH 服务器错误。(CVE-2021-43565)

- 在低于 0.3.7 版的 golang.org/x/text 中,golang.org/x/text/language 在 BCP 47 语言标签解析期间可能因越界读取而发生错误。未正确处理索引计算。如果解析不受信任的用户输入,这可被用作拒绝服务攻击的载体。(CVE-2021-38561)

- 由于未审查 NUL 值,攻击者可能会在 Windows 上恶意设置环境变量。
在 syscall.StartProcess 和 os/exec.Cmd 中,未正确检查包含 NUL 值的无效环境变量值。恶意的环境变量值可利用此行为为不同的环境变量设置值。例如,环境变量字符串 A=B\x00C=D 设置变量 A=B 和 C=D。 (CVE-2022-41716)

- 在 Python Charmers Future 0.18.2 及更早版本中发现一个问题,远程攻击者可通过来自恶意 Web 服务器的构建的 Set-Cookie 标头造成拒绝服务。(CVE-2022-40899)

- 在 2.13.4.1 和 2.12.17.1 之前的 FasterXML jackson-databind 中,当启用 UNWRAP_SINGLE_VALUE_ARRAYS 功能时,由于缺少用以避免深层封装程序数组嵌套的对原始值反序列化程序的检查,可能会发生资源耗尽。(CVE-2022-42003)

- 适用于 Go 的 golang.org/x/crypto/ssh 组件 v0.0.0-20201203163018-be400aefbc4c 以及之前的所有版本中存在 nil 指针取消引用问题,允许远程攻击者针对 SSH 服务器发动拒绝服务攻击。(CVE-2020-29652)

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

- 在 Windows 上,可通过 os.DirFS 和 http.Dir 访问受限制的文件。os.DirFS 函数和 http.Dir 类型提供对以给定目录为根的文件树的访问权限。这些函数允许访问该根目录下的 Windows 设备文件。例如,os.DirFS(C:/tmp).Open(COM1) 会打开 COM1 设备。
os.DirFS 和 http.Dir 均仅提供文件系统的只读访问权限。此外,在 Windows 上,目录(当前驱动器的根)的 os.DirFS 可允许恶意构建的路径从驱动器转义并访问系统上的任何路径。应用补丁后,os.DirFS() 的行为已更改。
以前,空根被视为等同于 /,因此 os.DirFS().Open(tmp) 将打开路径 /tmp。现在会返回错误。(CVE-2022-41720)

- protobuf-java 核心以及低于 3.21.7、3.20.3、3.19.6 和 3.16.3 的 lite 版本中类似 CVE-2022-3171 但有消息类型扩展程序的解析问题可导致拒绝服务攻击。包含具有重复或未知字段的非重复嵌入式消息的多个实例的输入导致对象在可变和不可变形式之间来回转换,从而可能导致垃圾回收长时间暂停。我们建议更新到上述版本。 (CVE-2022-3510)

- 在 Go 1.18.6 之前版本以及 1.19.1 1.19.x 之前版本中,如果关闭操作被致命错误抢占,则 HTTP/2 连接可在关闭期间挂起,攻击者可借此通过 net/http 造成拒绝服务。(CVE-2022-27664)

- Certifi 包含一系列精心制作的根证书,用于在验证 TLS 主机身份的同时验证 SSL 证书的可信度。Certifi 2022.12.07 将 TrustCor 根证书从根存储区中删除 。正在将这些内容从 Mozilla 的信任存储区中删除。
据媒体报道,TrustCor 的所有者还经营着间谍软件业务,并且据调查显示,TrustCor 的根证书将被删除。Mozilla 调查的结论可在链接的 Google 群组讨论中找到。(CVE-2022-23491)

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

- protobuf-java 核心以及低于 3.21.7、3.20.3、3.19.6 和 3.16.3 的 lite 版本中类似 CVE-2022-3171 但有文本格式的解析问题可导致拒绝服务攻击。包含具有重复或未知字段的非重复嵌入式消息的多个实例的输入导致对象在可变和不可变形式之间来回转换,从而可能导致垃圾回收长时间暂停。我们建议更新到上述版本。 (CVE-2022-3509)

- 空指针取消引用允许攻击者造成拒绝服务(或应用程序崩溃)。仅当 lxml 与 libxml2 2.9.10 至 2.9.14 版一起使用时才适用。libxml2 2.9.9 及更早版本不受影响。考虑到应用程序中存在漏洞的代码序列,攻击者可通过伪造的输入数据触发程序崩溃。该漏洞是由 iterwalk 函数所造成(也被 canonicalize 函数使用)。考虑到 parsing + iterwalk 通常会替换为更有效的 iterparse 函数,不应广泛使用此类代码。但举例而言,序列化为 C14N 的 XML 转换器也容易受到攻击,并且此代码序列存在合法用例。如果通过 iterwalk 函数接收(也是远端接收)和处理不受信任的输入,则可能触发程序崩溃。
(CVE-2022-2309)

- 在 pip(所有版本)中发现一个问题,即它会安装具有最高版本号的版本,即使用户本意是从私有索引获取私有程序包。此漏洞仅影响使用 --extra-index-url 选项的情况,并且利用该漏洞需要确保该程序包在公共索引中不存在(因此攻击者可以将带有任意版本号的程序包放置在公共索引中)。注意:
据报告,这是预期功能,用户责任安全地使用 --extra-index-url (CVE-2018-20225)

- 在 Go 1.15.4 的 x/text 中,解析 -u- 扩展时,language.ParseAcceptLanguage 中发生索引越界错误。(x/text/language 应该能够解析 HTTP Accept-Language 标头。)(CVE-2020-28851)

- 在 2.13.4之前的 FasterXML jackson-databind 中,由于在 BeanDeserializer._deserializeFromArray 中缺少用以防止使用深层嵌套数组的检查,可能会发生资源耗尽。应用程序仅在使用某些自定义反序列化选项时才会受到攻击。(CVE-2022-42004)

- 在 ProtocolBuffers 的 protobuf-cpp 3.16.1、3.17.3、3.18.2、3.19.4、3.20.1、3.21.5 及其之前版本、protobuf-python 3.16.1、3.17.3、3.18.2、3.19.4、3.20.1、4.21.5 及其之前版本中,MessageSet 类型解析漏洞可导致内存不足问题。
每个元素具有多个键值的特制消息会产生解析问题,并可导致服务在接收未审查的输入时拒绝服务。对于 protobuf-cpp,建议升级到版本 3.18.3、3.19.5、3.20.2、3.21.6;对于 protobuf-python,建议升级到3.18.3、3.19.5、3.20.2、4.21.6 版。 3.16 和 3.17 的版本不再更新。(CVE-2022-1941)

- protobuf-java 核心以及低于 3.21.7、 3.20.3、 3.19.6 和 3.16.3 的 lite 版本中的二进制数据解析问题可导致拒绝服务攻击。包含具有重复或未知字段的非重复嵌入式消息的多个实例的输入导致对象在可变和不可变形式之间来回转换,从而可能导致垃圾回收长时间暂停。我们建议更新到上述版本。 (CVE-2022-3171)

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

- protobuf-java 中有一个问题允许 com.google.protobuf.UnknownFieldSet 字段交错,这可造成字段处理顺序混乱。小型恶意负载可通过创建大量会造成频繁、重复暂停的短期对象来占用解析器数分钟。我们建议将库升级为高于有漏洞版本的版本。(CVE-2021-22569)

- 在低于 2.7 的 Apache Commons IO 中,当使用不当输入字符串(如 //../foo 或 \\..\foo)调用方法 FileNameUtils.normalize 时,结果为相同值,因此如果调用代码使用此结果构造路径值,则可能提供访问父目录中文件的权限,而非更高权限(进而造成限制的路径遍历)。(CVE-2021-29425)

- Python Beaker 库 1.11.0 及之前版本受到未受信任数据反序列化的影响,可能导致执行任意代码。(CVE-2013-7489)

- JSDom 错误地允许加载本地资源,这允许恶意网页在启用脚本执行时操纵本地文件。(CVE-2021-20066)

- 在 python-pip 处理 git 引用中 Unicode 分隔符的方式中发现一个缺陷。远程攻击者可利用此问题,在存储库中安装不同的修订版。此漏洞最主要的威胁对象是数据完整性。此缺陷已在 python-pip 版本 21.1 中修复。(CVE-2021-3572)

- Google Guava 11.0 至 24.1.1 之前的 24.x 版中存在无限内存分配漏洞,远程攻击者可借此对依赖此库的服务器进行拒绝服务攻击,并反序列化攻击者提供的数据,造成此漏洞的原因是 AtomicDoubleArray 类(使用 Java 序列化进行序列化时)和 CompoundOrdering 类(使用 GWT 序列化时)在未适当检查客户端已发送内容以及数据大小是否合理的情况下执行预先分配。(CVE-2018-10237)

- 低于 65.5.1 的 Python Packaging Authority (PyPA) setuptools 允许远程攻击者通过构建的程序包或自定义 PackageIndex 页面中的 HTML 造成拒绝服务。package_index.py 中存在正则表达式拒绝服务 (ReDoS)。 (CVE-2022-40897)

- Guava 的所有版本中都存在一个临时目录创建漏洞,对计算机具有访问权限的攻击者可借此访问由 Guava API com.google.common.io.Files.createTempDir() 创建的临时目录中的数据。默认情况下,在类 unix 系统上创建的目录为全局可读(可由具有系统访问权限的攻击者读取)。有问题的方法在版本 30.0 及更高版本中已被标记为 @Deprecated,不应使用。对于 Android 开发人员,我们建议选择由 Android 提供的临时目录 API,例如 context.getCacheDir()。对于其他 Java 开发人员,建议迁移至 Java 7 API java.nio.file.Files.createTempDirectory(),该方法明确配置了权限为 700,或者配置 Java 运行时的 java.io.tmpdir 系统属性,以指向权限适当配置的位置。(CVE-2020-8908)

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

- 这会影响 4.1.1 之前版本的程序包 http-cache-semantics。如果服务器使用此库从请求中读取缓存策略,攻击者则可以通过向该服务器发送恶意请求标头来利用此问题。(CVE-2022-25881)

- jQuery-UI 是官方的 jQuery 用户界面库。在 1.13.0 之前版本中,接受来自不受信任来源的 Datepicker 小组件的 `altField` 选项值可能导致执行不受信任的代码。此问题已在 jQuery UI 1.13.0 中得以解决。现在,传递给 `altField` 选项的任何字符串值都会被视为 CSS 选择器。有一种解决方法是,不接受来自不受信任来源的 `altField` 选项值。
(CVE-2021-41182)

- jQuery-UI 是官方的 jQuery 用户界面库。在 1.13.0 之前版本中,接受来自不受信任来源的 Datepicker 小组件的不同 `*Text` 选项值可能导致执行不受信任的代码。此问题已在 jQuery UI 1.13.0 中得以解决。现在,传递给不同 `*Text` 选项的值一律被视为纯文本,而不是 HTML。有一种解决方法是,不接受来自不受信任来源的 `*Text` 选项值。(CVE-2021-41183)

- jQuery-UI 是官方的 jQuery 用户界面库。- 在 1.13.0 之前的版本中,接受来自不受信任来源的 `.position()` 实用工具的 `of` 选项的值可能导致执行不受信任的代码。此问题已在 jQuery UI 1.13.0 中得以解决。现在,传递给 `of` 选项的任何字符串值都会被视为 CSS 选择器。有一种解决方法是,不接受来自不受信任来源的 `of` 选项值。(CVE-2021-41184)

- JSON5 是流行的 JSON 文件格式的扩展,旨在更容易手动编写和维护(例如配置文件)。在 JSON5 库 1.0.1 及之前的版本、2.2.1 及之前的版本中,“parse”方法不限制解析名为“__proto__”的键,从而允许特制的字符串污染结果对象的原型。该漏洞污染的是“JSON5.parse”返回的对象原型,而不是全局对象原型,后者是公认的原型污染的定义。但是,如果该对象稍后用于可信操作,则污染单个对象的原型可能会对应用程序产生重大的安全影响。此漏洞可能允许攻击者在“JSON5.parse”返回的对象上设置任意和意外的键。实际影响将取决于应用程序如何利用返回的对象以及如何过滤不需要的键,但这些影响可能包括拒绝服务、跨站脚本、特权提升以及在极端情况下的远程代码执行。将 JSON 字符串解析为对象时,“JSON5.parse”应限制解析“__proto__”键。作为参考,JavaScript 中包含的“JSON.parse”方法会忽略“__proto__”键。只需将上面示例中的“JSON5.parse”更改为“JSON.parse”即可缓解此漏洞。此漏洞已在 json5 1.0.2、2.2.2 及更新版本中修补。(CVE-2022-46175)

- 在 3.6.2 版之前的 libarchive 中,软件在调用 calloc 函数后不会检查错误,如果函数失败,可返回空指针,从而导致空指针取消引用。
注意:发现者引用了此 CWE-476 评论,但第三方对代码执行的影响存在争议:在极少数情况下,当 NULL 等同于 0x0 内存地址且特权代码可以访问它时,可以写入或读取内存,这可能导致代码执行。(CVE-2022-36227)

- 提取存档时可能发生不正确的链接解析缺陷,从而导致存档外文件的模式、时间、访问控制列表和标记发生更改。攻击者可能向受害用户提供恶意存档,受害者会在尝试提取存档时触发此缺陷。本地攻击者可能利用此缺陷在系统中获得更多权限。(CVE-2021-31566)

- libarchive 3.4.1 版至 3.5.1 版的 copy_string(从 do_uncompress_block 和 process_block 调用)中存在释放后使用漏洞。(CVE-2021-36976)

- lz4 中存在一个缺陷。向与 lz4 链接的应用程序提交构建文件的攻击者可能能够触发整数溢出,进而导致对负大小参数调用 memmove(),从而导致越界写入和/或崩溃。此缺陷对可用性影响最大,对机密性和完整性也可能产生一定影响。(CVE-2021-3520)

- 低于 8.44 的 PCRE 中的 libpcre 可通过 (?C 子字符串之后的大数,造成整数溢出。
(CVE-2020-14155)

- 当模式 \X 经过 JIT 编译并用于匹配非 UTF 模式中特别构建的主题时,在 10.34 之前的 PCRE 中发现越界读取。使用 PCRE 解析不受信任输入的应用程序可能容易受到此缺陷攻击,这允许攻击者造成应用程序崩溃。该缺陷会在 pcre2_jit_compile.c 的 do_extuni_no_utf 中出现。(CVE-2019-20454)

- 当禁用 UTF 且 \X 或 \R 具有多个固定的限定符时,低于 8.43 的 PCRE 中的 libpcre 可导致 JIT 中发生主题缓冲区过度读取,此问题与 CVE-2019-20454 相关。(CVE-2019-20838)

- 如果在 C API 的字符串参数中使用了数十亿字节,则在 3.39.2 之前的 SQLite 1.0.12 至 3.39.x 有时允许数组边界溢出。(CVE-2022-35737)

- 使用 cgo 时,go 命令可能在构建时执行任意代码。在恶意模块上运行 go get 或运行构建不受信任代码的任何其他命令时,可能会发生这种情况。此问题可由通过 #cgo LDFLAGS 指令指定的链接器标记触发。大量非可选标记的参数被错误地视为可选,从而允许通过 LDFLAGS 审查走私禁用的标记。这会影响 gc 和 gccgo 编译器的使用。(CVE-2023-29404)

- 使用 cgo 时,go 命令可能在构建时生成非预期的代码。这可能导致在运行使用 cgo 的 go 程序时发生意外情况。如果不受信任的模块包含名称中带换行符的目录,运行此模块则可能会导致此问题发生。使用 go 命令(即通过 go get)检索到的模块不受影响(使用 GOPATH-mode 检索到的模块,如 GO111MODULE=off)。(CVE-2023-29402)

- 并非所有有效的 JavaScript 空白字符都被视为空白。在 JavaScript 上下文中,在字符集 \t\n\f\r\u0020\u2028\u2029 外包含其他空白字符和操作的模板在执行期间可能未经正确审查。(CVE-2023-24540)

- 使用 cgo 时,go 命令可能在构建时执行任意代码。在恶意模块上运行 go get 或运行构建不受信任代码的任何其他命令时,可能会发生这种情况。此问题可由通过 #cgo LDFLAGS 指令指定的链接器标记触发。由于包含嵌入空格的标记处理不当,导致可以通过 LDFLAGS 审查走私禁用的标记,方法则是将这些标记纳入另一个标记的参数中。这会影响 gccgo 编译器的使用。(CVE-2023-29405)

- 由于 HTML 规范化规则,在使用空输入执行未加引号的 HTML 属性(如 attr={{.}})中包含操作的模板可能会导致在解析时产生意想不到的输出结果。这可能允许向标记中注入任意属性。 (CVE-2023-29400)

- 将尖括号 (<>) 插入到 CSS 上下文中时,不会视其为危险字符。如果使用不受信任的输入执行,包含由“/”字符分隔的多个操作的模板可能会导致意外关闭 CSS 上下文并允许意外注入 HTML。(CVE-2023-24539)

- 在 Unix 平台上,当使用 setuid/setgid 位运行二进制文件时,Go 运行时的行为将和之前保持一致。这在某些情况下可能很危险,例如在转储内存状态或假设状态为标准 i/o 文件描述符时。如果在关闭标准 I/O 文件描述符的情况下执行 setuid/setgid 二进制文件,则打开任何文件都可能导致使用提升的权限读取或写入意外内容。
同样,如果 setuid/setgid 程序通过错误或信号终止,则可能泄漏其寄存器的内容。 (CVE-2023-29403)

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

解决方案

对于 Splunk Enterprise,请升级到 8.2.12、9.0.6 或 9.1.1。

另见

https://advisory.splunk.com/advisories/SVD-2023-0808.html

插件详情

严重性: Critical

ID: 194928

文件名: splunk_911_svd-2023-0808.nasl

版本: 1.3

类型: combined

代理: windows, macosx, unix

系列: CGI abuses

发布时间: 2024/5/2

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

支持的传感器: Nessus Agent, Nessus

风险信息

VPR

风险因素: Medium

分数: 6.7

CVSS v2

风险因素: High

基本分数: 7.5

时间分数: 6.5

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

CVSS 分数来源: CVE-2022-32207

CVSS v3

风险因素: Critical

基本分数: 9.8

时间分数: 9.4

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

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

CVSS 分数来源: CVE-2023-29405

漏洞信息

CPE: cpe:/a:splunk:splunk

必需的 KB 项: installed_sw/Splunk

可利用: true

易利用性: Exploits are available

补丁发布日期: 2023/8/30

漏洞发布日期: 2023/8/30

参考资料信息

CVE: CVE-2013-7489, CVE-2018-10237, CVE-2018-20225, CVE-2019-20454, CVE-2019-20838, CVE-2020-14155, CVE-2020-28469, CVE-2020-28851, CVE-2020-29652, CVE-2020-8169, CVE-2020-8177, CVE-2020-8231, CVE-2020-8284, CVE-2020-8285, CVE-2020-8286, CVE-2020-8908, CVE-2021-20066, CVE-2021-22569, CVE-2021-22876, CVE-2021-22890, CVE-2021-22897, CVE-2021-22898, CVE-2021-22901, CVE-2021-22922, CVE-2021-22923, CVE-2021-22924, CVE-2021-22925, CVE-2021-22926, CVE-2021-22945, CVE-2021-22946, CVE-2021-22947, CVE-2021-23343, CVE-2021-23382, CVE-2021-27918, CVE-2021-27919, CVE-2021-29060, CVE-2021-29425, CVE-2021-29923, CVE-2021-31525, CVE-2021-31566, CVE-2021-33194, CVE-2021-33195, CVE-2021-33196, CVE-2021-33197, CVE-2021-33198, CVE-2021-34558, CVE-2021-3520, CVE-2021-3572, CVE-2021-36221, CVE-2021-36976, CVE-2021-3803, CVE-2021-38297, CVE-2021-38561, CVE-2021-39293, CVE-2021-41182, CVE-2021-41183, CVE-2021-41184, CVE-2021-41771, CVE-2021-41772, CVE-2021-43565, CVE-2021-44716, CVE-2021-44717, CVE-2022-1705, CVE-2022-1941, CVE-2022-1962, CVE-2022-22576, CVE-2022-2309, CVE-2022-23491, CVE-2022-23772, CVE-2022-23773, CVE-2022-23806, CVE-2022-24675, CVE-2022-24921, CVE-2022-24999, CVE-2022-25881, CVE-2022-27191, CVE-2022-27536, CVE-2022-27664, CVE-2022-27774, CVE-2022-27775, CVE-2022-27776, CVE-2022-27778, CVE-2022-27779, CVE-2022-27780, CVE-2022-27781, CVE-2022-27782, CVE-2022-28131, CVE-2022-28327, CVE-2022-2879, CVE-2022-2880, CVE-2022-29526, CVE-2022-29804, CVE-2022-30115, CVE-2022-30580, CVE-2022-30629, CVE-2022-30630, CVE-2022-30631, CVE-2022-30632, CVE-2022-30633, CVE-2022-30634, CVE-2022-30635, CVE-2022-31129, CVE-2022-3171, CVE-2022-32148, CVE-2022-32149, CVE-2022-32189, CVE-2022-32205, CVE-2022-32206, CVE-2022-32207, CVE-2022-32208, CVE-2022-32221, CVE-2022-33987, CVE-2022-3509, CVE-2022-3510, CVE-2022-3517, CVE-2022-35252, CVE-2022-35260, CVE-2022-35737, CVE-2022-36227, CVE-2022-37599, CVE-2022-37601, CVE-2022-37603, CVE-2022-38900, CVE-2022-40023, CVE-2022-40897, CVE-2022-40899, CVE-2022-41715, CVE-2022-41716, CVE-2022-41720, CVE-2022-41722, CVE-2022-42003, CVE-2022-42004, CVE-2022-42915, CVE-2022-42916, CVE-2022-43551, CVE-2022-43552, CVE-2022-46175, CVE-2023-23914, CVE-2023-23915, CVE-2023-23916, CVE-2023-24539, CVE-2023-24540, CVE-2023-27533, CVE-2023-27534, CVE-2023-27535, CVE-2023-27536, CVE-2023-27537, CVE-2023-27538, CVE-2023-29400, CVE-2023-29402, CVE-2023-29403, CVE-2023-29404, CVE-2023-29405