Jenkins 插件存在多个漏洞(2023 年 3 月 21 日)

critical Nessus 插件 ID 179049

简介

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

描述

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

- Jenkins 中的中危权限可启用和禁用。某些权限默认为禁用状态,如 Overall/Manage 或 Item/Extended Read。被禁用的权限无法直接授予,只能通过包含这些权限的更高权限来授予(例如,Overall/Administer 或 Item/Configure)。在 587.v2872c41fa_e51 及更低版本的 Role-based Authorization Strategy Plugin 中,即使这些权限已被禁用,也仍然可以授予。因此,在执行以下操作后,攻击者拥有的访问权限会比他们有权获得的访问权限要多:直接或通过群组向攻击者授予权限。权限被禁用,例如借助脚本控制台。Role-based Authorization Strateg Plugin 587.588.v850a_20a_30162 不会授予被禁用的权限。(CVE-2023-28668)

- High JaCoCo Plugin 3.3.2 及更早版本不会转义 UI 上显示的类和方法名称。这会导致攻击者可以利用存储型跨站脚本 (XSS) 漏洞,从而控制输入文件的“Record JaCoCo 覆盖报告”构建后操作。- JaCoCo Plugin 3.3.2.1 及更早版本会转义 UI 上显示的类和方法名称。(CVE-2023-28669)

- High Pipeline Aggregator View Plugin 1.13 及更早版本不会转义内联 JavaScript 中代表当前视图 URL 的变量。这会导致经过身份验证且拥有全局/读取权限的攻击者可利用存储型跨站脚本 (XSS) 漏洞。Pipeline Aggregator View Plugin 1.14 以不易受 XSS 影响的方式获取当前 URL。(CVE-2023-28670)

- Medium OctoPerf Load Testing Plugin 4.5.0 及更早版本不需要用户向连接测试 HTTP 端点发送 POST 请求,这会导致跨站请求伪造 (CSRF) 漏洞。此漏洞会导致攻击者可使用通过其他方法获取的攻击者指定凭据 ID,连接到攻击者指定的 URL,从而捕获 Jenkins 中存储的凭据。OctoPerf Load Testing Plugin 4.5.1 需要用户向受影响的连接测试 HTTP 端点发送 POST 请求。
(CVE-2023-28671)

- High OctoPerf Load Testing Plugin 4.5.1 及更早版本未对连接测试 HTTP 端点执行权限检查。- 这将导致拥有全局/读取权限的攻击者可使用通过其他方法获取的攻击者指定凭据 ID,连接到攻击者指定的 URL,从而捕获 Jenkins 中存储的凭据。OctoPerf Load Testing Plugin 4.5.2 在访问受影响的连接测试 HTTP 端点时会正确执行权限检查。(CVE-2023-28672)

- Medium OctoPerf Load Testing Plugin 4.5.2 及更早版本未对 HTTP 端点执行权限检查。这将允许具有全局/读取权限的攻击者枚举存储在 Jenkins 中凭据的凭据 ID。这些可用作攻击的一部分,以使用其他漏洞捕获凭据。在 OctoPerf Load Testing Plugin 4.5.3 中,枚举凭据 ID 需要提供相应的权限。(CVE-2023-28673)

- Medium OctoPerf Load Testing Plugin 4.5.2 及更早版本未对多个 HTTP 端点执行权限检查。这将允许拥有全局/读取权限的攻击者使用攻击者特定的凭据连接到之前配置的 Octoperf 服务器。此外,由于攻击者不需要向这些端点发送 POST 请求,从而导致跨站请求伪造 (CSRF) 漏洞。OctoPerf Load Testing Plugin 4.5.3 需要用户向受影响的 HTTP 端点发送 POST 请求并提供相应的权限。
(CVE-2023-28674、CVE-2023-28675)

- High Convert To Pipeline Plugin 1.0 及更早版本的不需要用户向 HTTP 端点发送将 Freestyle 项目转变为管道的 POST 请求,这会导致跨站请求伪造 (CSRF) 漏洞。利用此漏洞,攻击者可以基于 Freestyle 项目创建管道。
此漏洞与 SECURITY-2966 同时出现会导致攻击者可以执行非沙盒化管道脚本。在发布此公告时,尚无修复方法。了解我们为何宣布此问题。(CVE-2023-28676)

- High Convert To Pipeline Plugin 1.0 及更早版本使用基本字符串连接将 Freestyle 项目的构建环境、构建步骤和构建后操作转换为等效的管道步骤调用。这允许攻击者能够配置 Freestyle 项目以准备构建的配置,该配置会将管道脚本代码注入由 Convert To Pipeline Plugin 转换而来的(非沙盒化)管道中。如果管理员将 Freestyle 项目转换为管道,脚本将被预先批准。在发布此公告时,尚无修复方法。了解我们为何宣布此问题。
(CVE-2023-28677)

- High Cppcheck Plugin 1.26 及更早版本在 Jenkins UI 上显示 Cppcheck 报告文件之前未对 Cppcheck 报告文件的文件名进行转义。这会导致攻击者可以利用存储型跨站脚本 (XSS) 漏洞,从而控制报告文件的内容。在发布此公告时,尚无修复方法。了解我们为何宣布此问题。(CVE-2023-28678)

- High Mashup Portlets Plugin 1.1.2 及更早版本提供了 Generic JS Portlet 功能,可让用户使用自定义 JavaScript 表达式填充 portlet。这会导致经过身份验证且拥有全局/读取权限的攻击者可利用存储型跨站脚本 (XSS) 漏洞。在发布此公告时,尚无修复方法。了解我们为何宣布此问题。(CVE-2023-28679)

- High Crap4J Plugin 0.9 及更早版本未配置其 XML 解析器以防止 XML 外部实体 (XXE) 攻击。能够控制 Crap Report 文件内容的攻击者可借此让 Jenkins 解析构建的 XML 文档,该文档使用外部实体从 Jenkins 控制器或服务器端请求伪造中提取密钥。在发布此公告时,尚无修复方法。了解我们为何宣布此问题。
(CVE-2023-28680)

- High Visual Studio Code Metrics Plugin 1.7 及更早版本未配置其 XML 解析器以防止 XML 外部实体 (XXE) 攻击。能够控制 VS Code Metrics 文件内容的攻击者可借此让 Jenkins 解析构建的 XML 文档,该文档使用外部实体从 Jenkins 控制器或服务器端请求伪造中提取密钥。在发布此公告时,尚无修复方法。
了解我们为何宣布此问题。(CVE-2023-28681)

- High Performance Publisher Plugin 8.09 及更早版本未配置其 XML 解析器以防止 XML 外部实体 (XXE) 攻击。能够控制 PerfPublisher 报告文件的攻击者可借此让 Jenkins 解析构建的 XML 文档,该文档使用外部实体从 Jenkins 控制器或服务器端请求伪造中提取密钥。在发布此公告时,尚无修复方法。
了解我们为何宣布此问题。(CVE-2023-28682)

- High Phabricator Differential Plugin 2.1.5 及更早版本未配置其 XML 解析器以防止 XML 外部实体 (XXE) 攻击。能够控制“Post to Phabricator”构建后操作的覆盖报告文件内容的攻击者可借此让 Jenkins 解析构建的 XML 文档,该文档使用外部实体从 Jenkins 控制器或服务器端请求伪造中提取密钥。在发布此公告时,尚无修复方法。了解我们为何宣布此问题。(CVE-2023-28683)

- High remote-jobs-view-plugin Plugin 0.0.3 及更早版本未配置其 XML 解析器以防止 XML 外部实体 (XXE) 攻击。经过身份验证且拥有全局/读取权限的攻击者可借此让 Jenkins 解析构建的 XML 文档,该文档使用外部实体从 Jenkins 控制器或服务器端请求伪造中提取密钥。在发布此公告时,尚无修复方法。
了解我们为何宣布此问题。(CVE-2023-28684)

- High AbsInt a Plugin 1.1.0 及更早版本未配置其 XML 解析器以防止 XML 外部实体 (XXE) 攻击。能够控制“Project File (APX)”内容的攻击者可借此让 Jenkins 解析构建的 XML 文档,该文档使用外部实体从 Jenkins 控制器或服务器端请求伪造中提取密钥。在发布此公告时,尚无修复方法。了解我们为何宣布此问题。(CVE-2023-28685)

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

解决方案

将 Jenkins 插件更新到以下版本:
- AbsInt a 插件:参见供应商公告
- Convert To Pipeline 插件:参见供应商公告
- Cppcheck 插件:参见供应商公告
- Crap4J 插件:参见供应商公告
- 将 JaCoCo 插件升级到 3.3.2.1 或更高版本
- Mashup Portlets 插件:参见供应商公告
- 将 OctoPerf Load Testing 插件升级到 4.5.1 / 4.5.2 / 4.5.3 或更高版本
- Performance Publisher 插件:参见供应商公告
- Phabricator Differential 插件:参见供应商公告
- 将 Pipeline Aggregator View 升级到 1.14 或更高版本
- remote-jobs-view-plugin 插件:参见供应商公告
- 将 Role-based Authorization Strategy 插件升级到 587.588.v850a_20a_30162 或更高版本
- Visual Studio Code Metrics 插件:参见供应商公告

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

另见

https://jenkins.io/security/advisory/2023-03-21

插件详情

严重性: Critical

ID: 179049

文件名: jenkins_security_advisory_2023-03-21_plugins.nasl

版本: 1.3

类型: combined

代理: windows, macosx, unix

系列: CGI abuses

发布时间: 2023/7/31

最近更新时间: 2024/10/3

配置: 启用全面检查 (optional)

支持的传感器: Nessus Agent, Nessus

Enable CGI Scanning: true

风险信息

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-28677

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

漏洞信息

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

必需的 KB 项: installed_sw/Jenkins

易利用性: No known exploits are available

补丁发布日期: 2023/3/21

漏洞发布日期: 2023/3/21

参考资料信息

CVE: CVE-2023-28668, CVE-2023-28669, CVE-2023-28670, CVE-2023-28671, CVE-2023-28672, CVE-2023-28673, CVE-2023-28674, CVE-2023-28675, CVE-2023-28676, CVE-2023-28677, CVE-2023-28678, CVE-2023-28679, CVE-2023-28680, CVE-2023-28681, CVE-2023-28682, CVE-2023-28683, CVE-2023-28684, CVE-2023-28685