Jenkins plugins 多個弱點 (2023 年 1 月 24 日)

critical Nessus Plugin ID 171929

概要

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

說明

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

- 高 Script Security 外掛程式提供沙箱功能,可讓低權限的使用者定義通常可以安全執行的指令碼 (包括管道)。在沙箱指令碼內定義的程式碼呼叫會遭到攔截,並檢查各種許可清單,以確定是否允許呼叫。在 Script Security 外掛程式 1228.vd93135a_2fb_25 和更舊版本中,沙箱未攔截在叫用對應建構函式時,由 Groovy 語言執行階段隱含執行的內容指派。此弱點允許具有定義和執行沙箱指令碼 (包括管道) 權限的攻擊者繞過沙箱保護,並在 Jenkins 控制器 JVM 的內容中執行任意程式碼。
叫用對應建構函式時,Script Security 外掛程式 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 連線驗證外掛程式 2.4 及更早版本不會在登入時使現有工作階段失效。攻擊者可利用此弱點,使用社交工程技術來取得 Jenkins 的系統管理員存取權。
OpenId 連線驗證外掛程式 2.5 版在登入時使現有工作階段失效。(CVE-2023-24424)

- 中等 Kubernetes 認證提供外掛程式 1.208.v128ee9800c04 及更舊版本未針對 Kubernetes 認證查閱設定適當的內容,進而允許使用系統範圍的認證,否則會為全域組態保留。這會允許具有 Item/Configure 權限的攻擊者存取並可能擷取其無權取得的 Kubernetes 認證。Kubernetes 認證提供外掛程式 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) 攻擊。攻擊者能夠藉此控制「確定語義版本」構建步驟的版本檔案的內容,讓 Jenkins 代理程式處理程式使用外部實體的特製檔案,以便從 Jenkins 代理擷取機密或發動伺服器端要求偽造攻擊。由於 Jenkins 代理程式處理程序通常會執行其輸入 (原始程式碼、構建指令碼等) 受外部控制的構建工具,因此此弱點僅在非常有限的情況下具有實際影響:當攻擊者可以控制 XML 檔案,但無法變更構建步驟、Jenkinsfile、在代理程式上執行的測試程式碼或類似項目時。Semantic Versioning 外掛程式 1.15 會停用針對其 XML 剖析器的外部實體解析。(CVE-2023-24430)

- 中等 Medium Orka by MacStadium 外掛程式 1.31 和更舊版本不會在多個 HTTP 端點中執行權限檢查。這會讓具有 Overall/Read 權限的攻擊者列舉 Jenkins 中已儲存憑證的憑證 ID。這些弱點可作為攻擊的一部分,利用另一個弱點來擷取憑證。Orka by MacStadium 外掛程式 1.32 中的憑證 ID 列舉需要 Overall/Administer 權限。(CVE-2023-24431)

- 中等 Medium Orka by MacStadium 外掛程式 1.31 和更舊版本不會在多個 HTTP 端點中執行權限檢查。這會讓具有 Overall/Read 權限的攻擊者使用透過另一種方法取得的攻擊者指定憑證 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 端點中執行權限檢查。這會讓具有 Overall/Read 權限的攻擊者列舉 Jenkins 中已儲存憑證的憑證 ID。這些弱點可作為攻擊的一部分,利用另一個弱點來擷取憑證。截至本公告發佈時,尚無修正。了解我們為何宣布此問題。
(CVE-2023-24436)

- 中等 GitHub Pull Request Builder 外掛程式 1.42.2 和更舊版本不會在實作表單驗證的方法中執行權限檢查。這會讓具有 Overall/Read 權限的攻擊者使用透過另一種方法取得的攻擊者指定憑證 ID,連線至攻擊者指定的 URL,進而擷取儲存在 Jenkins 中的憑證。此外,這些表單驗證方法不需要 POST 要求,進而導致跨網站要求偽造 (CSRF) 弱點。截至本公告發佈時,尚無修正。了解我們為何宣布此問題。(CVE-2023-24434、CVE-2023-24435)

- 中等 JIRA Pipeline Steps 外掛程式 2.0.165.v8846cf59f3db 和更舊版本不會在實作表單驗證的方法中執行權限檢查。這會讓具有 Overall/Read 權限的攻擊者使用透過另一種方法取得的攻擊者指定憑證 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) 攻擊。攻擊者能夠藉此控制「發布 MSTest 測試結果報告」構建後步驟的報告檔案的內容,讓 Jenkins 代理程式處理程式使用外部實體的特製檔案,以便從 Jenkins 代理擷取機密或發動伺服器端要求偽造攻擊。由於 Jenkins 代理程式處理程序通常會執行其輸入 (原始程式碼、構建指令碼等) 受外部控制的構建工具,因此此弱點僅在非常有限的情況下具有實際影響:當攻擊者可以控制 XML 檔案,但無法變更構建步驟、Jenkinsfile、在代理程式上執行的測試程式碼或類似項目時。截至本公告發佈時,尚無修正。了解我們為何宣布此問題。
(CVE-2023-24441)

- 低 GitHub Pull Request Coverage Status 外掛程式 2.2.0 及更早版本在 Jenkins 控制器上的其全域組態檔案 com.github.terma.jenkins.githubprcoveragestatus.Configuration.xml 中,儲存未加密的 GitHub 個人存取權杖、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 測試」構建步驟的 zip 存檔輸入檔案,讓 Jenkins 剖析使用外部實體的特製檔案,以便從 Jenkins 控制器擷取機密或發動伺服器端要求偽造攻擊。截至本公告發佈時,尚無修正。了解我們為何宣布此問題。(CVE-2023-24443)

- 高 OpenID 外掛程式 2.4 及更早版本不會在登入時使現有工作階段失效。攻擊者可利用此弱點,使用社交工程技術來取得 Jenkins 的系統管理員存取權。截至本公告發佈時,尚無修正。了解我們為何宣布此問題。(CVE-2023-24444)

- 中等 OpenID 外掛程式 2.4 和更舊版本會錯誤判斷登入後的重新導向 URL 合法指向 Jenkins。攻擊者可利用此弱點發動網路釣魚攻擊,讓使用者前往 Jenkins URL,而此 URL 會在成功驗證後將使用者轉送到其他網站。截至本公告發佈時,尚無修正。了解我們為何宣布此問題。(CVE-2023-24445)

- 中等 OpenID 外掛程式 2.4 及更早版本未在其 OAuth 流程中實作狀態參數,即與每個驗證要求相關聯的唯一且不可猜測的值。此弱點允許攻擊者誘騙使用者登入攻擊者的帳戶。截至本公告發佈時,尚無修正。了解我們為何宣布此問題。(CVE-2023-24446)

- 中等 RabbitMQ Consumer 外掛程式 2.8 和更舊版本不會在實作表單驗證的方法中執行權限檢查。這會讓具有 Overall/Read 權限的攻擊者使用攻擊者指定的使用者名稱和密碼,連線至攻擊者指定的 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 端點中執行權限檢查。這會讓具有 Overall/Read 權限的攻擊者列舉 Jenkins 中已儲存憑證的憑證 ID。這些弱點可作為攻擊的一部分,利用另一個弱點來擷取憑證。截至本公告發佈時,尚無修正。了解我們為何宣布此問題。
(CVE-2023-24451)

- 中等 BearyChat 外掛程式 3.0.2 和更舊版本不會在實作表單驗證的方法中執行權限檢查。具有 Overall/Read 權限的攻擊者可藉此連線至攻擊者指定的 URL。此外,這項表單驗證方法不需要 POST 要求,進而導致跨網站要求偽造 (CSRF) 弱點。截至本公告發佈時,尚無修正。了解我們為何宣布此問題。(CVE-2023-24458、CVE-2023-24459)

- 中等 TestQuality Updater 外掛程式 1.3 和更舊版本不會在實作表單驗證的方法中執行權限檢查。這會讓具有 Overall/Read 權限的攻擊者使用攻擊者指定的使用者名稱和密碼,連線至攻擊者指定的 URL。此外,這項表單驗證方法不需要 POST 要求,進而導致跨網站要求偽造 (CSRF) 弱點。截至本公告發佈時,尚無修正。了解我們為何宣布此問題。(CVE-2023-24452、CVE-2023-24453)

- 低 TestQuality Updater 外掛程式 1.3 及更舊版本將 TestQuality Updater 密碼未加密儲存在 Jenkins 控制器上的全域組態檔案 com.testquality.jenkins.TestQualityNotifier.xml 中,作為其組態的一部分。具有 Jenkins 控制器檔案系統存取權的使用者可檢視此密碼。截至本公告發佈時,尚無修正。了解我們為何宣布此問題。(CVE-2023-24454)

- 中等 visualexpert 外掛插件 1.3 和更舊版本未限制實作表單驗證的方法中的檔案名稱。- 該弱點允許具有「項目/組態」權限的攻擊者檢查 Jenkins 控制器檔案系統上是否存在攻擊者指定的檔案路徑。截至本公告發佈時,尚無修正。了解我們為何宣布此問題。(CVE-2023-24455)

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

解決方案

將 Jenkins 外掛程式升級至下列版本:
- 將 Azure AD 外掛程式升級至 306.va_7083923fd50 或更新版本
- BearyChat 外掛程式:請參閱廠商公告
- 將 Bitbucket OAuth 外掛程式升級至 0.13 或更新版本
- Cisco Spark Notifier 外掛程式:請參閱廠商公告
- 將 Gerrit Trigger 外掛程式升級至 2.38.1 或更新版本
- GitHub Pull Request 構建器外掛程式:請參閱廠商公告
- GitHub Pull Request Coverage Status 外掛程式:請參閱廠商公告
- JIRA Pipeline Steps 外掛程式:請參閱廠商公告
- Keycloak 驗證外掛程式:請參閱廠商公告
- 將 Kubernetes Credentials Provider 外掛插件升級至 1.209.v862c6e5fb_1ef 版或更新版本
- MSTest 外掛程式:請參閱廠商公告
- 將 OpenId 連線驗證外掛插件升級至 2.5 或更新版本
- OpenID 外掛程式:請參閱廠商公告
- 將 Orka by MacStadium 外掛程式升級至 1.32 或更新版本
- PWauth Security Realm 外掛程式:請參閱廠商公告
- RabbitMQ 使用者外掛程式: 請參閱廠商公告
- 將 Script Security 外掛插件升級至 1229.v4880b_e905a_6 或更新版本
- 將 Semantic Versioning 外掛插件升級至 1.15 或更新版本
- TestComplete 支援外掛程式:請參閱廠商公告
- TestQuality 更新程式外掛程式:請參閱廠商公告
- view-cloner 外掛程式:請參閱廠商公告
- visualexpert 外掛程式:請參閱廠商公告

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

另請參閱

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

Plugin 詳細資訊

嚴重性: 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