Jenkins LTS < 2.332.4 / Jenkins weekly < 2.356 多个漏洞

critical Nessus 插件 ID 163258

简介

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

描述

根据其自我报告的版本号,远程 Web 服务器上运行的 Jenkins 版本低于 Jenkins LTS 2.332.4,或低于 Jenkins weekly 2.356。因此,该应用程序受到多个漏洞的影响:

- Jenkins 2.355 及更早版本、LTS 2.332.3 及更早版本中存在多个跨站脚本 (XSS) 漏洞,这些漏洞让攻击者可将 HTML 和 JavaScript 注入 Jenkins UI:SECURITY-2779 (CVE-2022-34170):自 Jenkins 2.320 和 LTS 2.332.1 起,帮助图标工具提示不再转义功能名称,这种做法有效地撤销了对 SECURITY-1955 的修复程序。SECURITY-2761 (CVE-2022-34171):自 Jenkins 2.321 和 LTS 2.332.1 起,为基于符号的新 SVG 图标生成的 HTML 输出包含Jenkins 2.334 之前的 l:ioncon 的 title 属性,以及Jenkins 2.335 之后的 l:icon 的 alt 属性,并且不会进行进一步转义。SECURITY-2776 (CVE-2022-34172):自 Jenkins 2.340 起,基于符号的图标会取消转义之前转义过的工具提示参数值。SECURITY-2780 (CVE-2022-34173):自 Jenkins 2.340 起,列表视图中“构建”按钮的工具提示无需转义作业显示名称即可支持 HTML。已知具有 Job/Configure 权限的攻击者可以利用这些漏洞。Jenkins 2.356、LTS 2.332.4 和 LTS 2.346.1 修复了这些漏洞:SECURITY-2779:帮助图标工具提示中的功能名称现已转义。
SECURITY-2761:l:ionicon 的 title 属性(Jenkins LTS 2.332.4) 和 l: icon 的 alt 属性(Jenkins 2.356 和 LTS 2.346.1)已在生成的 HTML 输出中转义。SECURITY-2776:基于符号的图标不再转义工具提示参数的值。SECURITY-2780:列表视图中“构建”按钮的工具提示现已转义。任何 Jenkins LTS 版本都不会受到 SECURITY-2776 或 SECURITY-2780 的影响,因为这些问题不存在于 Jenkins 2.332.x 中,并且已在 2.346.1 之前的 2.346.x 行中修复。(CVE-2022-34170、CVE-2022-34171、CVE-2022-34172、CVE-2022-34173)

- 在 Jenkins 2.355 及更早版本、LTS 2.332.3 及更早版本中,在使用 Jenkins 用户数据库安全域时,登录表单上可观察到的时序差异允许区分使用无效用户名的登录尝试与使用有效用户名和错误密码的登录尝试。这允许攻击者确定攻击者指定的用户名的有效性。现在,使用无效用户名的登录尝试可以验证合成密码,以消除 Jenkins 2.356、LTS 2.332.4 中的时序差异。
(CVE-2022-34174)

- Jenkins 使用 Stapler Web 框架呈现其 UI 视图。这些视图通常由多个视图片段组成,使得插件能够以更多内容扩展现有视图。在 Jenkins 2.186 和 LTS 2.176.2 中修复 SECURITY-534 之前,攻击者可在某些情况下直接访问包含敏感信息的视图片段,从而绕过相应视图中的各种权限检查。在 Jenkins 2.335 至 2.355(含)中,某些视图禁用了针对 SECURITY-534 添加的保护。因此,攻击者可在极少情况下直接访问包含敏感信息的视图片段,从而绕过相应视图中的各种权限检查。截至本文发表时,Jenkins 安全团队并未发现 Jenkins 插件生态系统中存在任何易受攻击的视图片段。Jenkins 2.356 恢复了对受影响视图的保护。(CVE-2022-34175)

- JUnit Plugin 1119.va_a_5e9068da_d7 及更早版本未转义测试结果说明。这会导致具有 Run/Update 权限的攻击者利用存储型跨站脚本 (XSS) 漏洞。
JUnit Plugin 1119.1121.vc43d0fc45561 将经过配置的标记格式化程序应用于测试结果说明。(CVE-2022-34176)

- Pipeline:Input Step Plugin 448.v37cea_9a_10a_70 及更早版本允许 Pipeline 作者为 Pipeline 输入步骤指定文件参数,即使这些参数不受支持仍可输入。尽管未将上传的文件复制到工作区,Jenkins 仍会使用未经审查的参数名称作为构建相关目录内的相对路径,将控制器上的文件作为构建元数据的一部分进行存储。这允许攻击者配置 Pipeline,以创建或替换包含攻击者指定内容的 Jenkins 控制器文件系统上的任意文件。Pipeline:Input Step Plugin 449.v77f0e8b_845c4 禁止将文件参数用于 Pipeline 输入步骤。尝试使用它们将导致 Pipeline 执行失败。
(CVE-2022-34177)

- Embeddable Build Status Plugin 2.0.3 允许指定版本状态标记将链接到的链接查询参数,而且无需限制可能的值。这会导致反射型跨站脚本 (XSS) 漏洞。Embeddable Build Status Plugin 2.0.4 将 URL 限制为 http 和 https 协议,并正确转义提供的值。(CVE-2022-34178)

- Embeddable Build Status Plugin 2.0.3 及更早版本允许指定用于选择不同 SVG 图像样式的样式查询参数,并且无需限制可能的值。这会导致相对路径遍历漏洞,让不具有 Overall/Read 权限的攻击者可在 Jenkins 控制器文件系统上指定其他 SVG 图像的路径。Embeddable Build Status Plugin 2.0.4 将样式查询参数限制为三个合法值之一。(CVE-2022-34179)

- Embeddable Build Status Plugin 2.0.3 及更早版本未在其为不受保护的状态标记访问提供的 HTTP 端点中正确执行 ViewStatus 权限检查。这允许没有任何权限的攻击者获取面向任何攻击者指定的作业和/或版本的版本状态标记图标。
Embeddable Build Status Plugin 2.0.4 需要 ViewStatus 权限才能获取版本状态标记图标。
(CVE-2022-34180)

- xUnit Plugin 3.0.8 及更早版本实施代理到控制器消息,该消息可在用户指定的目录不存在时进行创建,并将其中的文件解析为测试结果。这让攻击者能够控制代理进程,从而在 Jenkins 控制器上创建任意目录,或从攻击者指定目录中的现有文件获取测试结果。xUnit Plugin 3.1.0 将消息类型从代理到控制器更改为控制器到代理,以阻止在控制器上执行。
(CVE-2022-34181)

- Nested View Plugin 1.20 至 1.25(两者均含)不会转义搜索参数。这会导致反射型跨站脚本 (XSS) 漏洞。Nested View Plugin 1.26 会转义搜索参数。
(CVE-2022-34182)

- 多个插件未对其提供的参数类型的名称和说明进行转义:Agent Server Parameter 1.1 及更早版本 (SECURITY-2731 / CVE-2022-34183) CRX Content Package Deployer 1.9 及更早版本 (SECURITY-2727 / CVE-2022-34184) Date Parameter Plugin 0.0.4 及更早版本 (SECURITY-2711 / CVE-2022-34185) Dynamic Extended Choice Parameter 1.0.1 及更早版本 (SECURITY-2712 / CVE-2022-34186) Filesystem List Parameter 0.0.7 及更早版本 (SECURITY-2716 / CVE-2022-34187) Hidden Parameter Plugin 0.0.4 及更早版本 (SECURITY-2755 / CVE-2022-34188) Image Tag Parameter 1.10 及更早版本 (SECURITY-2721 / CVE-2022-34189) Maven Metadata for CI server 2.1 及更早版本 (SECURITY-2714 / CVE-2022-34190) NS-ND Integration Performance Publisher 4.8.0.77 及更早版本 (SECURITY-2736 / CVE-2022-34191) ontrack Jenkins 4.0.0 及更早版本 (SECURITY-2733 / CVE-2022-34192) Package Version 1.0.1 及更早版本 (SECURITY-2735 / CVE-2022-34193) Readonly Parameter 1.0.0 及更早版本 (SECURITY-2719 / CVE-2022-34194) Repository Connector 2.2.0 及更早版本 (SECURITY-2666 / CVE-2022-34195) REST List Parameter Plugin 1.5.2 及更早版本 (SECURITY-2730 / CVE-2022-34196) Sauce OnDemand 1.204 及更早版本 (SECURITY-2724 / CVE-2022-34197) Stash Branch Parameter 0.3.0 及更早版本 (SECURITY-2725 / CVE-2022-34198) 这会导致存储型跨站脚本 (XSS) 漏洞,具有 Item/Configure 权限的攻击者可以利用这些漏洞。若要成功利用这些漏洞,需要在另一页面上列出参数,例如 Jenkins(核心)提供的 Build With Parameters 和 Parameters 页面,并且这些页面未经强化,无法防止漏洞利用。作为 SECURITY-353/CVE-2017-2601 修复程序的一部分,Jenkins(核心)自 2.44 和 LTS 2.32.2 以来已阻止利用 Build With Parameters 和 Parameters 页面上的此类漏洞。此外,之前已更新多个插件,以在默认情况下使用可防止利用的方式列出参数,请参阅 2022-04-12 安全公告中的 SECURITY-2617 获取列表。
以下插件已更新,以转义它们在指定版本中提供的参数类型的名称和说明:REST List Parameter Plugin 1.6.0 Hidden Parameter Plugin 0.0.5 截至本公告发布之日,尚无可用于以下插件的修复程序:Agent Server Parameter 1.1 及更早版本 (SECURITY-2731 / CVE-2022-34183) CRX Content Package Deployer 1.9 及更早版本 (SECURITY-2727 / CVE-2022-34184) Date Parameter Plugin 0.0.4 及更早版本 (SECURITY-2711 / CVE-2022-34185) Dynamic Extended Choice Parameter 1.0.1 及更早版本 (SECURITY-2712 / CVE-2022-34186) Filesystem List Parameter 0.0.7 及更早版本 (SECURITY-2716 / CVE-2022-34187) Image Tag Parameter 1.10 及更早版本 (SECURITY-2721 / CVE-2022-34189) Maven Metadata for CI server 2.1 及更早版本 (SECURITY-2714 / CVE-2022-34190) NS-ND Integration Performance Publisher 4.8.0.77 及更早版本 (SECURITY-2736 / CVE-2022-34191) ontrack Jenkins 4.0.0 及更早版本 (SECURITY-2733 / CVE-2022-34192) Package Version 1.0.1 及更早版本 (SECURITY-2735 / CVE-2022-34193) Readonly Parameter 1.0.0 及更早版本(SECURITY-2719 / CVE-2022-34194) Repository Connector 2.2.0 及更早版本 (SECURITY-2666 / CVE-2022-34195) Sauce OnDemand 1.204 及更早版本 (SECURITY-2724 / CVE-2022-34197) Stash Branch Parameter 0.3.0 及更早版本 (SECURITY-2725 / CVE-2022-34198)(CVE-2022-34183、CVE-2022-34184、CVE-2022-34185、CVE-2022-34186、CVE-2022-34187、CVE-2022-34188、CVE-2022-34189、CVE-2022-34190、CVE-2022-34191、CVE-2022-34192、CVE-2022-34193、CVE-2022-34194、CVE-2022-34195、CVE-2022-34196、CVE-2022-34197、CVE-2022-34198)

- Convertigo Mobile Platform Plugin 1.1 及更早版本在 Jenkins 控制器的作业 config.xml 文件中将密码作为其配置的一部分存储。具有 Item/Extended Read 权限或 Jenkins 控制器文件系统访问权限的用户可以查看这些密码。在发布此公告时,尚无修复方法。(CVE-2022-34199)

- Convertigo Mobile Platform Plugin 1.1 及更早版本不在实施表单验证的方法中执行权限检查。这将允许具有 Overall/Read 权限的攻击者连接到攻击者指定的 URL。此外,该表单验证方法不需要 POST 请求,从而导致跨站请求伪造 (CSRF) 漏洞。在发布此公告时,尚无修复方法。(CVE-2022-34200、CVE-2022-34201)

- EasyQA Plugin 1.0 及更早版本在 Jenkins 控制器的全局配置文件 EasyQAPluginProperties.xml 中将用户密码作为其配置的一部分存储。具有 Jenkins 控制器文件系统访问权限的用户可以查看这些密码。在发布此公告时,尚无修复方法。(CVE-2022-34202)

- EasyQA Plugin 1.0 及更早版本不在实施表单验证的方法中执行权限检查。这将允许具有 Overall/Read 权限的攻击者连接到攻击者指定的 HTTP 服务器。此外,该表单验证方法不需要 POST 请求,从而导致跨站请求伪造 (CSRF) 漏洞。在发布此公告时,尚无修复方法。
(CVE-2022-34203、CVE-2022-34204)

- Jianliao Notification Plugin 1.1 及更早版本不在实施表单验证的方法中执行权限检查。这将允许具有 Overall/Read 权限的攻击者向攻击者指定的 URL 发送 HTTP POST 请求。此外,该表单验证方法不需要 POST 请求,从而导致跨站请求伪造 (CSRF) 漏洞。在发布此公告时,尚无修复方法。(CVE-2022-34205、CVE-2022-34206)

- Beaker builder Plugin 1.10 及更早版本不在实施表单验证的方法中执行权限检查。这将允许具有 Overall/Read 权限的攻击者连接到攻击者指定的 URL。
此外,该表单验证方法不需要 POST 请求,从而导致跨站请求伪造 (CSRF) 漏洞。在发布此公告时,尚无修复方法。
(CVE-2022-34207、CVE-2022-34208)

- ThreadFix Plugin 1.5.4 及更早版本不在实施表单验证的方法中执行权限检查。这将允许具有 Overall/Read 权限的攻击者连接到攻击者指定的 URL。
此外,该表单验证方法不需要 POST 请求,从而导致跨站请求伪造 (CSRF) 漏洞。在发布此公告时,尚无修复方法。
(CVE-2022-34209、CVE-2022-34210)

- vRealize Orchestrator Plugin 3.0 及更早版本未在 HTTP 端点中执行权限检查。这将允许具有 Overall/Read 权限的攻击者向攻击者指定的 URL 发送 HTTP POST 请求。
此外,此 HTTP 端点不需要 POST 请求,这会导致跨站请求伪造 (CSRF) 漏洞。在发布此公告时,尚无修复方法。(CVE-2022-34211、CVE-2022-34212)

- Squash TM Publisher (Squash4Jenkins) Plugin 1.0.0 及更早版本在 Jenkins 控制器上的全局配置文件 org.jenkinsci.squashtm.core.SquashTMPublisher.xml 中,将未加密的密码作为其配置的一部分存储。具有 Jenkins 控制器文件系统访问权限的用户可以查看这些密码。在发布此公告时,尚无修复方法。(CVE-2022-34213)

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

解决方案

将 Jenkins weekly 升级到版本 2.356 或更高版本,或将 Jenkins LTS 升级到版本 2.332.4、2.346.1 或更高版本

另见

https://jenkins.io/security/advisory/2022-06-22

插件详情

严重性: Critical

ID: 163258

文件名: jenkins_2_356.nasl

版本: 1.3

类型: combined

代理: windows, macosx, unix

系列: CGI abuses

发布时间: 2022/7/15

最近更新时间: 2022/7/18

配置: 启用彻底检查

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

风险信息

VPR

风险因素: Medium

分数: 5.9

CVSS v2

风险因素: Medium

基本分数: 6.8

时间分数: 5

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

时间矢量: E:U/RL:OF/RC:C

CVSS 分数来源: CVE-2022-34203

CVSS v3

风险因素: Critical

基本分数: 9.1

时间分数: 7.9

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

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

CVSS 分数来源: CVE-2022-34181

漏洞信息

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

必需的 KB 项: installed_sw/Jenkins

易利用性: No known exploits are available

补丁发布日期: 2022/6/22

漏洞发布日期: 2022/6/22

参考资料信息

CVE: CVE-2022-34170, CVE-2022-34171, CVE-2022-34172, CVE-2022-34173, CVE-2022-34174, CVE-2022-34175, CVE-2022-34176, CVE-2022-34177, CVE-2022-34178, CVE-2022-34179, CVE-2022-34180, CVE-2022-34181, CVE-2022-34182, CVE-2022-34183, CVE-2022-34184, CVE-2022-34185, CVE-2022-34186, CVE-2022-34187, CVE-2022-34188, CVE-2022-34189, CVE-2022-34190, CVE-2022-34191, CVE-2022-34192, CVE-2022-34193, CVE-2022-34194, CVE-2022-34195, CVE-2022-34196, CVE-2022-34197, CVE-2022-34198, CVE-2022-34199, CVE-2022-34200, CVE-2022-34201, CVE-2022-34202, CVE-2022-34203, CVE-2022-34204, CVE-2022-34205, CVE-2022-34206, CVE-2022-34207, CVE-2022-34208, CVE-2022-34209, CVE-2022-34210, CVE-2022-34211, CVE-2022-34212, CVE-2022-34213