Jenkins 插件多个漏洞(2023 年 1 月 24 日)

critical Nessus 插件 ID 171929

简介

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

描述

根据其自我报告的版本号,远程 Web 服务器上运行的相应版本的 Jenkins 插件受到多种漏洞的影响:

- 高危脚本安全插件提供沙盒功能,允许低权限用户定义通常可安全执行的脚本,包括 Pipeline。拦截对沙盒脚本内定义的代码的调用,并检查各种许可名单以确定是否允许调用。在 Script Security Plugin 1228.vd93135a_2fb_25 及更早版本中,调用映射构造函数时由 Groovy 语言运行时隐式执行的属性分配未被沙盒拦截。此漏洞允许具有定义和运行沙盒脚本(包括 Pipeline)权限的攻击者绕过沙盒保护并在 Jenkins 控制器 JVM 的上下文中执行任意代码。
调用映射构造函数时,脚本安全插件 1229.v4880b_b_e905a_6 拦截属性分配。作为此补丁的一部分,只能使用新密钥在沙盒中调用映射构造函数。
尝试使用 Groovy 转换调用映射构造函数将无条件失败。例如,诸如代码 [key: value] as MyClass 或 MyClass mc = [key: value] 必须转换为使用 new MyClass(key:
value)。(CVE-2023-24422)

- 中危 Gerrit Trigger 插件 2.38.0 及更早版本的一些 HTTP 端点不需要 POST 请求,这会导致跨站请求伪造 (CSRF) 漏洞。 此漏洞允许攻击者重建由 Gerrit 触发的以前的版本。Gerrit Trigger 插件 2.38.1 需要受影响的 HTTP 端点的 POST 请求。 (CVE-2023-24423)

- 高危 OpenId Connect 身份验证插件 2.4 及更早版本在登录时不会使现有会话无效。攻击者可借此使用社交工程技术来获取 Jenkins 的管理员访问权限。
OpenId Connect 身份验证插件 2.5 在登录时会使现有会话无效。(CVE-2023-24424)

- 中危 Kubernetes Credentials Provider 插件 1.208.v128ee9800c04 及更早版本没有为 Kubernetes 凭据查找设置适当的上下文,从而允许使用系统范围的凭据,否则会为全局配置保留。这允许具有项目/配置权限的攻击者访问并可能捕获他们无权获得的 Kubernetes 凭据。Kubernetes Credentials Provider 插件 1.209.v862c6e5fb_1ef 为 Kubernetes 凭据查找定义了相应的上下文。
(CVE-2023-24425)

- 高危 Azure AD 插件 303.va_91ef20ee49f 及更早版本在登录时不会使现有会话无效。
攻击者可借此使用社交工程技术来获取 Jenkins 的管理员访问权限。Azure AD 插件 306.va_7083923fd50 在登录时使现有会话无效。 (CVE-2023-24426)

- 高危 Bitbucket OAuth 插件 0.12 及更早版本在登录时不会使现有会话无效。攻击者可借此使用社交工程技术来获取 Jenkins 的管理员访问权限。Bitbucket OAuth 插件 0.13 在登录时会使现有会话无效。(CVE-2023-24427)

- 中危 Bitbucket OAuth 插件 0.12 及更早版本未在其 OAuth 流中实现状态参数,即与每个身份验证请求相关联的唯一且不可猜测的值。此漏洞允许攻击者诱骗用户登录攻击者的帐户。Bitbucket OAuth 插件 0.13 在其 OAuth 流中实现状态参数。 (CVE-2023-24428)

- 高危 Semantic Versioning 插件将处理给定文件的控制器/代理消息定义为 XML,并且其 XML 解析器未配置为防止 XML 外部实体 (XXE) 攻击。Semantic Versioning 插件 1.14 及更早版本未将控制器/代理消息的执行限制为代理,并且未实施关于可解析的文件路径的限制。能够控制代理进程的攻击者可借此让 Jenkins 解析构建的文件,该文件使用外部实体从 Jenkins 控制器或服务器端请求伪造中提取密钥。这是对 SECURITY-2124 的修复不完整所致。此漏洞仅在 Jenkins 2.318 及更早版本、 LTS 2.303.2 及更早版本中可利用。请参阅 LTS 升级指南。Semantic Versioning 插件 1.15 不允许代理提交受影响的控制器/代理消息以在控制器上执行。 (CVE-2023-24429)

- 中危 Semantic Versioning 插件 1.14 及更早版本未配置其 XML 解析器以防止 XML 外部实体 (XXE) 攻击。能够在“Determine Semantic Version”构建步骤控制版本文件内容的攻击者可借此让代理进程解析构建的文件,该文件使用外部实体从 Jenkins 代理或服务器端请求伪造中提取密钥。由于 Jenkins 代理进程通常会执行其输入(源代码、构建脚本等)受外部控制的构建工具,因此此漏洞仅在非常有限的情况下才会产生实际影响:当攻击者可以控制 XML 文件,但无法更改构建步骤、Jenkins 文件、在代理上执行的测试代码或类似内容时。Semantic Versioning 插件 1.15 禁用其 XML 解析器的外部实体解析。 (CVE-2023-24430)

- 中危 Orka by MacStadium 插件 1.31 及更早版本在多个 HTTP 端点中未执行权限检查。这将允许具有全局/读取权限的攻击者枚举存储在 Jenkins 中凭据的凭据 ID。这些可用作攻击的一部分,以使用其他漏洞捕获凭据。Orka by MacStadium 插件 1.32 中的凭据 ID 枚举需要全局/管理员权限。(CVE-2023-24431)

- 中危 Orka by MacStadium 插件 1.31 及更早版本在多个 HTTP 端点中未执行权限检查。- 这将导致具有全局/读取权限的攻击者可使用通过其他方法获取的攻击者指定凭据 ID,连接到攻击者指定的 HTTP 服务器,从而捕获 Jenkins 中存储的凭据。此外,这些 HTTP 端点不需要 POST 请求,从而导致跨站请求伪造 (CSRF) 漏洞。Orka by MacStadium 插件 1.32 需要受影响的 HTTP 端点的 POST 请求和整体/管理员权限。(CVE-2023-24432、CVE-2023-24433)

- 中危 GitHub Pull Request Builder 插件 1.42.2 及更早版本未在 HTTP 端点中执行权限检查。这将允许具有全局/读取权限的攻击者枚举存储在 Jenkins 中凭据的凭据 ID。这些可用作攻击的一部分,以使用其他漏洞捕获凭据。在发布此公告时,尚无修复方法。了解我们为何宣布此问题。
(CVE-2023-24436)

- 中危 GitHub Pull Request Builder 插件 1.42.2 及更早版本不在实现表单验证的方法中执行权限检查。- 这将导致具有全局/读取权限的攻击者可使用通过其他方法获取的攻击者指定凭据 ID,连接到攻击者指定的 URL,从而捕获 Jenkins 中存储的凭据。此外,这些表单验证方法不需要 POST 请求,从而导致跨站请求伪造 (CSRF) 漏洞。在发布此公告时,尚无修复方法。了解我们为何宣布此问题。(CVE-2023-24434、CVE-2023-24435)

- 中危 JIRA Pipeline Steps 插件 2.0.165.v8846cf59f3db 及更早版本不在实现表单验证的方法中执行权限检查。- 这将导致具有全局/读取权限的攻击者可使用通过其他方法获取的攻击者指定凭据 ID,连接到攻击者指定的 URL,从而捕获 Jenkins 中存储的凭据。此外,这些表单验证方法不需要 POST 请求,从而导致跨站请求伪造 (CSRF) 漏洞。在发布此公告时,尚无修复方法。了解我们为何宣布此问题。(CVE-2023-24437、CVE-2023-24438)

- 低危 JIRA Pipeline Steps 插件 2.0.165.v8846cf59f3db 及更早版本将未加密的私钥存储在 Jenkins 控制器上的全局配置文件 org.thoughtslive.jenkins.plugins.jira.JiraStepsConfig.xml 中,作为其配置的一部分。具有 Jenkins 控制器文件系统访问权限的用户可以查看此密钥。此外,全局配置形式不会屏蔽 API 密钥,这增加了攻击者观察和捕获密钥的可能性。在发布此公告时,尚无修复方法。了解我们为何宣布此问题。(CVE-2023-24439、CVE-2023-24440)

- 中危 MSTest 插件 1.0.0 及更早版本未配置其 XML 解析器以防止 XML 外部实体 (XXE) 攻击。能够在“Publish MSTest test result report”后构建步骤控制报告文件内容的攻击者可借此让代理进程解析构建的文件,该文件使用外部实体从 Jenkins 代理或服务器端请求伪造中提取密钥。由于 Jenkins 代理进程通常会执行其输入(源代码、构建脚本等)受外部控制的构建工具,因此此漏洞仅在非常有限的情况下才会产生实际影响:当攻击者可以控制 XML 文件,但无法更改构建步骤、Jenkins 文件、在代理上执行的测试代码或类似内容时。在发布此公告时,尚无修复方法。了解我们为何宣布此问题。
(CVE-2023-24441)

- 低危 GitHub Pull Request Coverage Status 插件 2.2.0 及更早版本在 Jenkins 控制器上的全局配置文件 com.github.terma.jenkins.githubprcoveragestatus.Configuration.xml 中存储未加密的 GitHub Personal Access、Sonar 访问标记以及 Sonar 密码作为其配置。具有 Jenkins 控制器文件系统访问权限的用户可以查看这些凭据。
在发布此公告时,尚无修复方法。了解我们为何宣布此问题。(CVE-2023-24442)

- 高危 Keycloak 身份验证插件 2.3.0 及更早版本在登录时不会使现有会话无效。
攻击者可借此使用社交工程技术来获取 Jenkins 的管理员访问权限。在发布此公告时,尚无修复方法。了解我们为何宣布此问题。(CVE-2023-24456)

- 中危 Keycloak 身份验证插件 2.3.0 及更早版本未在其 OAuth 流中实现状态参数,即与每个身份验证请求相关联的唯一且不可猜测的值。此漏洞允许攻击者诱骗用户登录攻击者的帐户。在发布此公告时,尚无修复方法。了解我们为何宣布此问题。(CVE-2023-24457)

- 高危 TestComplete 支持插件 2.8.1 及更早版本未配置其 XML 解析器以防止 XML 外部实体 (XXE) 攻击。能够控制“TestComplete Test”构建步骤的 Zip 存档输入文件的攻击者可借此让 Jenkins 解析构建的文件,该文件使用外部实体从 Jenkins 控制器或服务器端请求伪造中提取密钥。在发布此公告时,尚无修复方法。了解我们为何宣布此问题。(CVE-2023-24443)

- 高危 OpenID 插件 2.4 及更早版本在登录时不会使现有会话无效。攻击者可借此使用社交工程技术来获取 Jenkins 的管理员访问权限。在发布此公告时,尚无修复方法。了解我们为何宣布此问题。(CVE-2023-24444)

- 中危 OpenID 插件 2.4 及更早版本未正确确定登录后的重定向 URL 是否合法指向 Jenkins。攻击者可借此让用户访问 Jenkins URL,进而在用户成功进行身份验证后将其转发至其他站点,从而执行钓鱼攻击。在发布此公告时,尚无修复方法。了解我们为何宣布此问题。(CVE-2023-24445)

- 中危 OpenID 插件 2.4 及更早版本未在其 OAuth 流中实现状态参数,即与每个身份验证请求相关联的唯一且不可猜测的值。此漏洞允许攻击者诱骗用户登录攻击者的帐户。在发布此公告时,尚无修复方法。了解我们为何宣布此问题。(CVE-2023-24446)

- 中危 RabbitMQ Consumer 插件 2.8 及更早版本不在实施表单验证的方法中执行权限检查。这将允许具有全局/读取权限的攻击者使用攻击者指定的用户名和密码连接到攻击者指定的 AMQP 服务器。此外,该表单验证方法不需要 POST 请求,从而导致跨站请求伪造 (CSRF) 漏洞。在发布此公告时,尚无修复方法。了解我们为何宣布此问题。
(CVE-2023-24447、CVE-2023-24448)

- 中危 PWauth Security Realm 插件 0.4 及更早版本未限制实现表单验证的方法中的文件名称。这允许具有“整体/读取”权限的攻击者检查 Jenkins 控制器文件系统上是否存在攻击者指定的文件路径。在发布此公告时,尚无修复方法。了解我们为何宣布此问题。(CVE-2023-24449)

- 中危 view-cloner 插件 1.1 及更早版本在 Jenkins 控制器的作业 config.xml 文件中存储未加密的密码并将密码作为其配置的一部分。具有 Item/Extended Read 权限或 Jenkins 控制器文件系统访问权限的用户可以查看这些密码。在发布此公告时,尚无修复方法。了解我们为何宣布此问题。(CVE-2023-24450)

- 中危 Cisco Spark Notifier 插件 1.1.1 及更早版本在多个 HTTP 端点中未执行权限检查。这将允许具有全局/读取权限的攻击者枚举存储在 Jenkins 中凭据的凭据 ID。这些可用作攻击的一部分,以使用其他漏洞捕获凭据。在发布此公告时,尚无修复方法。了解我们为何宣布此问题。
(CVE-2023-24451)

- 中危 BearyChat 插件 3.0.2 及更早版本不在实施表单验证的方法中执行权限检查。这将允许具有 Overall/Read 权限的攻击者连接到攻击者指定的 URL。此外,该表单验证方法不需要 POST 请求,从而导致跨站请求伪造 (CSRF) 漏洞。在发布此公告时,尚无修复方法。了解我们为何宣布此问题。(CVE-2023-24458、CVE-2023-24459)

- 中危 TestQuality Updater 插件 1.3 及更早版本不在实施表单验证的方法中执行权限检查。这将允许具有全局/读取权限的攻击者使用攻击者指定的用户名和密码连接到攻击者指定的 URL。此外,该表单验证方法不需要 POST 请求,从而导致跨站请求伪造 (CSRF) 漏洞。在发布此公告时,尚无修复方法。了解我们为何宣布此问题。(CVE-2023-24452、CVE-2023-24453)

- 低危 TestQuality Updater 插件 1.3 及更早版本在 Jenkins 控制器上的全局配置文件 com.testQuality.jenkins.TestQualityNotifier.xml 中存储未加密的 TestQuality Updater 密码,作为其配置的一部分。具有 Jenkins 控制器文件系统访问权限的用户可以查看此些密码。在发布此公告时,尚无修复方法。了解我们为何宣布此问题。(CVE-2023-24454)

- 中危 visualexpert 插件 1.3 及更早版本未限制实现表单验证的方法中的文件名称。这允许具有“项目/配置”权限的攻击者检查 Jenkins 控制器文件系统上是否存在攻击者指定的文件路径。在发布此公告时,尚无修复方法。了解我们为何宣布此问题。(CVE-2023-24455)

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

解决方案

将 Jenkins 插件更新到以下版本:
- Azure AD 插件版本 306.va_7083923fd50 或更高版本
- BearyChat 插件:参见供应商公告
- Bitbucket OAuth 插件 0.13 版或更高版本
- Cisco Star Notifier 插件:参见供应商公告
- Gerrit 插件 2.38.1 或更高版本
- GitHub Pull Request Builder 插件:参见供应商公告
- GitHub Pull Request Coverage Status 插件:参见供应商公告
- JIRA Pipeline Steps 插件:参见供应商公告
- Keycloak 身份验证插件:参见供应商公告
- Kubernetes Credentials Provider Plugin 1.209.v862c6e5fb_1ef 版或更高版本
- MSTest 插件:参见供应商公告
- OpenId Connect Authentication 插件 2.5 版或更高版本
- OpenID 插件:参见供应商公告
- Orka by MacStadium 插件 1.32 版或更高版本
- PWauth Security Realm 插件:参见供应商公告
- RabbitMQ Consumer 插件:参见供应商公告
- 安全插件脚本 1229.v4880b_b_e905a_6 版或更高版本
- Semantic Versioning 插件 1.15 版或更高版本
- TestComplete 支持插件:参见供应商公告
- TestQuality Updater 插件:参见供应商公告
- view-cloner 插件:参见供应商公告
- Visualexpert 插件:参见供应商公告

有关更多详细信息,请参阅供应商公告。

另见

https://jenkins.io/security/advisory/2023-01-24

插件详情

严重性: Critical

ID: 171929

文件名: jenkins_security_advisory_2023-01-24_plugins.nasl

版本: 1.3

类型: combined

代理: windows, macosx, unix

系列: CGI abuses

发布时间: 2023/2/27

最近更新时间: 2023/10/24

支持的传感器: Nessus Agent, Nessus

风险信息

VPR

风险因素: Medium

分数: 6.7

CVSS v2

风险因素: Critical

基本分数: 10

时间分数: 7.4

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

CVSS 分数来源: CVE-2023-24458

CVSS v3

风险因素: Critical

基本分数: 9.8

时间分数: 8.5

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

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

CVSS 分数来源: CVE-2023-24456

漏洞信息

CPE: cpe:/a:cloudbees:jenkins, cpe:/a:jenkins:jenkins

必需的 KB 项: installed_sw/Jenkins

易利用性: No known exploits are available

补丁发布日期: 2023/1/24

漏洞发布日期: 2023/1/24

参考资料信息

CVE: CVE-2023-24422, CVE-2023-24423, CVE-2023-24424, CVE-2023-24425, CVE-2023-24426, CVE-2023-24427, CVE-2023-24428, CVE-2023-24429, CVE-2023-24430, CVE-2023-24431, CVE-2023-24432, CVE-2023-24433, CVE-2023-24434, CVE-2023-24435, CVE-2023-24436, CVE-2023-24437, CVE-2023-24438, CVE-2023-24439, CVE-2023-24440, CVE-2023-24441, CVE-2023-24442, CVE-2023-24443, CVE-2023-24444, CVE-2023-24445, CVE-2023-24446, CVE-2023-24447, CVE-2023-24448, CVE-2023-24449, CVE-2023-24450, CVE-2023-24451, CVE-2023-24452, CVE-2023-24453, CVE-2023-24454, CVE-2023-24455, CVE-2023-24456, CVE-2023-24457, CVE-2023-24458, CVE-2023-24459