Jenkins 外掛程式 多個弱點 (2022 年 6 月 22 日)

critical Nessus Plugin ID 163259

概要

遠端 Web 伺服器上執行的應用程式受到多個弱點的影響

說明

根據其自我報告的版本號碼,遠端 Web 伺服器上執行的 Jenkins 外掛程式版本受到多個弱點影響:

- 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 輸出包含 l: ioncon 的 title 屬性 (直到 Jenkins 2.334) 和 l:icon 的 alt 屬性 (從 Jenkins 2.335 開始),而沒有進一步逸出。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:產生的 HTML 輸出中會逸出 l: ionicon (Jenkins LTS 2.332.4) 的 title 屬性和 l: icon 的 alt 屬性 (Jenkins 2.356 和 LTS 2.346.1)。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 外掛程式 1119.va_a_5e9068da_d7 和更舊版本不會逸出測試結果說明,這會導致具有 Run/Update 權限的攻擊者可利用的儲存型跨網站指令碼 (XSS) 弱點。
JUnit 外掛程式 1119.1121.vc43d0fc45561 已將設定的標記格式化程式套用至測試結果說明。(CVE-2022-34176)

- Pipeline:Input Step 外掛程式 448.v37cea_9a_10a_70 和更舊版本允許 Pipeline 作者指定 Pipeline 輸入步驟的檔案參數,即使這些參數不受支援亦如此。雖然上傳的檔案並未復製到工作區,但 Jenkins 會使用未清理的參數名稱作為構建相關目錄內的相對路徑,在控制器上封存檔案,作爲構建詮釋資料的一部分。攻擊者可以藉此將 Pipeline 設定為使用攻擊者制定的內容在 Jenkins 控制器檔案系統上建立或替換任意檔案。Pipeline:Input Step 外掛程式 449.v77f0e8b_845c4 禁止使用 Pipeline 輸入步驟的檔案參數,嘗試使用這些參數將造成 Pipeline 執行失敗。
(CVE-2022-34177)

- Embeddable Build Status 外掛程式 2.0.3 允許指定版本狀態徽章要連結的連結查詢參數,而不限制可能的值,這會造成反映式跨網站指令碼弱點。Embeddable Build Status 外掛程式 2.0.4 將 URL 限定為 http 和 https 通訊協定,並會正確逸出所提供的值。(CVE-2022-34178)

- Embeddable Build Status 外掛程式 2.0.3 及更舊版本允許指定用於選擇不同 SVG 影像樣式的樣式查詢參數,而不限制可能的值,這會導致相對路徑遊走弱點,讓沒有 Overall/Read 權限的攻擊者可以指定 Jenkins 控制器檔案系統上其他 SVG 影像的路徑。Embeddable Build Status 外掛程式 2.0.4 將樣式查詢參數限制為三個合法值的其中之一。(CVE-2022-34179)

- Embeddable Build Status 外掛程式 2.0.3 及更早版本未在 HTTP 端點中正確執行其針對未受保護的狀態徽章存取權限提供的 ViewStatus 權限檢查,這讓沒有任何權限的攻擊者可以取得任何攻擊者指定的工作和/或版本的版本狀態徽章圖示。
Embeddable Build Status 外掛程式 2.0.4 需要 ViewStatus 權限才能取得版本狀態徽章圖示。
(CVE-2022-34180)

- xUnit 外掛程式 3.0.8 及更舊版本實作的 agent-to-controller 訊息可建立使用者指定的目錄 (若不存在),並將其中的檔案剖析為測試結果。攻擊者可藉此控制代理程式處理程序,在 Jenkins 控制器上建立任意目錄,或從攻擊者指定目錄中的現有檔案中取得測試結果。xUnit 外掛程式 3.1.0 將訊息類型從 agent-to-controller 變更為 controller-to-agent,從而防止在控制器上執行。
(CVE-2022-34181)

- Nested View 外掛程式 1.20 至 1.25 版 (包含此兩者) 不會逸出搜尋參數,這會造成反映式跨網站指令碼弱點。Nested View 外掛程式 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 外掛程式 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 外掛程式 0.0.4 和更舊版本 (SECURITY-2755 / CVE-2022-34188) Image Tag Parameter 1.10 和更舊版本 ( SECURITY-2721 / CVE-2022-34189) 適用於 CI 伺服器的 Maven Metadata 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) 套件版本 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 外掛程式 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) 這會導致可被具有 Item/Configure 權限的攻擊者利用的儲存型跨網站指令碼 (XSS) 弱點。要利用這些弱點,需要在其他頁面上列出參數,例如 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 外掛程式 1.6.0 Hidden Parameter 外掛程式 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 外掛程式 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) 適用於 CI 伺服器的 Maven Metadata 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) 套件版本 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 外掛程式 1.1 和更舊版本会將未加密的密碼儲存在 Jenkins 控制器上的工作檔案 config.xml 中,作為其組態的一部分。具有 Item/Extended Read 權限或 Jenkins 控制器檔案系統存取權的使用者可檢視這些密碼。截至本公告發佈時,尚無修正。(CVE-2022-34199)

- Convertigo Mobile Platform 外掛程式 1.1 和更舊版本不會在實作表單驗證的方法中執行權限檢查,具有 Overall/Read 權限的攻擊者可藉此連線至攻擊者指定的 URL。此外,這項表單驗證方法不需要 POST 要求,進而導致跨網站要求偽造 (CSRF) 弱點。截至本公告發佈時,尚無修正。(CVE-2022-34200、CVE-2022-34201)

- EasyQA 外掛程式 1.0 和更舊版本会將未加密的密碼儲存在 Jenkins 控制器上它的全域組態檔案 EasyQAPluginProperties.xml 中,作為其組態的一部分。具有 Item/Extended Read 權限或 Jenkins 控制器檔案系統存取權的使用者可檢視這些密碼。截至本公告發佈時,尚無修正。(CVE-2022-34202)

- EasyQA 外掛程式 1.0 和更舊版本不會在實作表單驗證的方法中執行權限檢查,具有 Overall/Read 權限的攻擊者可藉此連線至攻擊者指定的 HTTP 伺服器。此外,這項表單驗證方法不需要 POST 要求,進而導致跨網站要求偽造 (CSRF) 弱點。截至本公告發佈時,尚無修正。
(CVE-2022-34203、CVE-2022-34204)

- Jianliao Notification 外掛程式 1.1 和更舊版本不會在實作表單驗證的方法中執行權限檢查,具有 Overall/Read 權限的攻擊者可藉此向攻擊者指定的 URL 傳送 HTTP POST 請求。此外,這項表單驗證方法不需要 POST 要求,進而導致跨網站要求偽造 (CSRF) 弱點。截至本公告發佈時,尚無修正。(CVE-2022-34205、CVE-2022-34206)

- Beaker builder 外掛程式 1.10 和更舊版本不會在實作表單驗證的方法中執行權限檢查,具有 Overall/Read 權限的攻擊者可藉此連線至攻擊者指定的 URL。
此外,這項表單驗證方法不需要 POST 要求,進而導致跨網站要求偽造 (CSRF) 弱點。截至本公告發佈時,尚無修正。
(CVE-2022-34207、CVE-2022-34208)

- ThreadFix 外掛程式 1.5.4 和更舊版本不會在實作表單驗證的方法中執行權限檢查,具有 Overall/Read 權限的攻擊者可藉此連線至攻擊者指定的 URL。
此外,這項表單驗證方法不需要 POST 要求,進而導致跨網站要求偽造 (CSRF) 弱點。截至本公告發佈時,尚無修正。
(CVE-2022-34209、CVE-2022-34210)

- vRealize Orchestrator 外掛程式 3.0 和更舊版本不會在 HTTP 端點中執行權限檢查,具有 Overall/Read 權限的攻擊者可藉此向攻擊者指定的 URL 傳送 HTTP POST 請求。
此外,此 HTTP 端點不需要 POST 要求,進而導致跨網站要求偽造 (CSRF) 弱點。截至本公告發佈時,尚無修正。(CVE-2022-34211、CVE-2022-34212)

- Squash TM Publisher (Squash4Jenkins) 外掛程式 1.0.0 及更舊版本會將未加密的密碼儲存在 Jenkins 控制器上的全域組態檔案 org.jenkinsci.squashtm.core.SquashTMPublisher.xml 中,作為其組態的一部分。具有 Item/Extended Read 權限或 Jenkins 控制器檔案系統存取權的使用者可檢視這些密碼。截至本公告發佈時,尚無修正。(CVE-2022-34213)

請注意,Nessus 並未測試這些問題,而是僅依據應用程式自我報告的版本號碼作出判斷。

解決方案

將 Jenkins 外掛程式更新至下列版本:
- Agent Server Parameter 外掛程式:請參閱廠商公告
- Beaker builder 外掛程式:請參閱廠商公告
- Convertigo 行動平台外掛程式:請參閱廠商公告
- CRX Content Package Deployer 外掛程式:請參閱廠商公告
- Date Parameter 外掛程式:請參閱廠商公告
- Dynamic Extended Choice Parameter 外掛程式:請參閱廠商公告
- EasyQA 外掛程式:請參閱廠商公告
- Embeddable Build Status 外掛程式 2.0.4 版或更新版本
- Filesystem List Parameter 外掛程式:請參閱廠商公告
- Hidden Parameter 外掛程式 0.0.5 版或更新版本
- Image Tag Parameter 外掛程式:請參閱廠商公告
- Jianliao Notification 外掛程式:請參閱廠商公告
- JUnit 外掛程式 1119.1121.vc43d0fc45561 版或更新版本
- 適用於 Jenkins CI 伺服器的 Maven Metadata 外掛程式:請參閱廠商公告
- Nested View 外掛程式 1.26 版或更新版本
- NS-ND Integration Performance Publisher 外掛程式:請參閱廠商公告
- ontrack Jenkins 外掛程式:請參閱廠商公告
- 套件版本外掛程式:請參閱廠商公告
- Pipeline:Input Step 外掛程式 449.v77f0e8b_845c4 版或更新版本
- Readonly Parameter 外掛程式:請參閱廠商公告
- Repository Connector 外掛程式:請參閱廠商公告
- REST List Parameter 外掛程式 1.6.0 版或更新版本
- Sauce OnDemand 外掛程式:請參閱廠商公告
- Squash TM Publisher (Squash4Jenkins) 外掛程式:請參閱廠商公告
- Stash Branch Parameter 外掛程式:請參閱廠商公告
- ThreadFix 外掛程式:請參閱廠商公告
- vRealize Orchestrator 外掛程式:請參閱廠商公告
- xUnit 外掛程式 3.1.0 版或更新版本

請參閱供應商公告以取得詳細資料。

另請參閱

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

Plugin 詳細資訊

嚴重性: Critical

ID: 163259

檔案名稱: jenkins_security_advisory_2022-06-22_plugins.nasl

版本: 1.5

類型: combined

代理程式: windows, macosx, unix

系列: CGI abuses

已發布: 2022/7/15

已更新: 2023/7/28

支援的感應器: Nessus Agent, Nessus

風險資訊

VPR

風險因素: Medium

分數: 5.9

CVSS v2

風險因素: Medium

基本分數: 6.8

時間分數: 5

媒介: CVSS2#AV:N/AC:M/Au:N/C:P/I:P/A:P

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

時間媒介: CVSS:3.0/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