Jenkins Plugins 多個安全漏洞風險通告
發布時間 2020-03-11漏洞編號和級別
CVE編號:CVE-2020-2159,危險級別:高危,CVSS分值:官方未評定
CVE編號:CVE-2020-2138,危險級別:高危,CVSS分值:官方未評定
CVE編號:CVE-2020-2144,危險級別:高危,CVSS分值:官方未評定
CVE編號:CVE-2020-2158,危險級別:高危,CVSS分值:官方未評定
CVE編號:CVE-2020-2134,危險級別:高危,CVSS分值:官方未評定
CVE編號:CVE-2020-2135,危險級別:高危,CVSS分值:官方未評定
影響版本
CryptoMove Plugin 0.1.33和更早版本
Cobertura Plugin 1.15和更早版本
Rundeck Plugin 3.6.6和更早版本
Literate Plugin 1.0和更早的版本
Script Security Plugin 1.70和更早版本
漏洞概述
CloudBees Jenkins(Hudson Labs)是美國CloudBees公司的一套基于Java開發的持續集成工具。該產品主要用于監控持續的軟件版本發布/測試項目和一些定時執行的任務。
近日,Jenkins發布官方安全通告,Jenkins部分插件存在多個漏洞,其中高危漏洞概述如下:
CVE-2020-2159 CryptoMove Plugin 命令注入
CryptoMove插件0.1.33和更早版本允許將OS命令的配置作為其構建步驟配置的一部分執行。
該命令將作為運行Jenkins的OS用戶帳戶在Jenkins主服務器上執行,從而允許具有Job/Configure權限的用戶在Jenkins主服務器上執行任意OS命令。
截至本公告發布之時,尚無修復程序。
CVE-2020-2138 Cobertura Plugin XXE
Cobertura插件1.15和更早版本沒有配置其XML解析器來防止XML外部實體(XXE)攻擊。
這使用戶能夠控制“發布Cobertura覆蓋率報告”構建后步驟的輸入文件,以讓Jenkins解析制作的文件,該文件使用外部實體從Jenkins主服務器或服務器端請求偽造中提取秘密。
Cobertura插件1.16為其XML解析器禁用了外部實體解析。
CVE-2020-2144 Rundeck Plugin XXE
Rundeck插件3.6.6和更早版本沒有配置其XML解析器來防止XML外部實體(XXE)攻擊。
這允許具有“總體/讀取”訪問權限的用戶讓Jenkins使用XML數據解析經過精心設計的HTTP請求,該XML請求使用外部實體從Jenkins主服務器或服務器端請求偽造中提取機密。
Rundeck插件3.6.7為其XML解析器禁用了外部實體解析。
CVE-2020-2158 Literate Plugin 遠程代碼執行
Literate Plugin 1.0和更早的版本沒有配置其YAML解析器來防止實例化任意類型。
這導致遠程代碼執行漏洞,用戶可以利用該漏洞向Literate Plugin的構建步驟提供YAML輸入文件。
截至本公告發布之日,尚無修復程序。
CVE-2020-2134, CVE-2020-2135 Script Security Plugin 沙盒繞過
可以通過以下方式來規避Script Security Plugin 1.70和更早版本中的沙盒保護:
精心構造的構造函數調用和主體(由于SECURITY-582的不完整修復)
精心設計的方法調用實現GroovyInterceptable的對象
這使攻擊者能夠在Jenkins主JVM的上下文中指定并運行沙盒腳本來執行任意代碼。
Script Security Plugin 1.71具有其他限制和健全性檢查,以確保在沒有被沙箱攔截的情況下無法構造超級構造函數。此外,它還攔截對實現GroovyInterceptable的對象的方法調用,作為對GroovyObject#invokeMethod(String,Object)的調用,該對象是列入黑名單的方法。
漏洞驗證
暫無PoC/EXP。
修復建議
目前部分插件已更新,獲取鏈接:https://jenkins.io/security/advisory/2020-03-09/。請及時更新插件到如下版本:
CryptoMove Plugin 暫無補丁
Literate Plugin 暫無補丁
Cobertura Plugin 升級到 1.16版本
Rundeck Plugin 升級到 3.6.7版本
Script Security Plugin 升級到 1.71版本
參考鏈接
https://jenkins.io/security/advisory/2020-03-09/