安全研究人员发现,100多只Jenkins插件存在安全漏洞,可能引发登入数据外泄或是跨网站攻击等安全风险。Jenkins是一种支持开发、部署和自动化软件开发的开源工具,可以外挂扩充以便提供Active Directory验证或执行静态程序分析、将组译好的软件复制到CIFS 网络文件系统等重复性作业。和Wordpress一样,Jenkins在第三方开发商的投入下,现有上百种外挂。但NCC Group安全顾问Viktor Gazdag手动测试100多款Jenkins外挂后发现二大类漏洞,包括验证数据以明码储存以及缺少权限检查的跨网站请求伪造(cross site request forgery,CSRF),后者可能导致数据窃取以及服务器端的请求伪造(Server-Side Request Forgery,SSRF)攻击。
研究人员就发现,某个MQ外挂将密码明码储存在外挂的自有配置文件中,AWS Code Build外挂则把加密密钥明码储存在config.xml 。Publish Over Dropbox Plugin则在外挂设定中,将令牌大喇喇显示于Web form中。其次为欠缺权限检查的跨网站请求伪造(CSRF)漏洞。有些外挂让用户连接服务器来测试验证数据,这原本可根据使用者角色权限,强制执行POST呼叫,要求使用者提供CSRF令牌(Crumb)来确保服务器安全性,但在本研究中却发现部份插件并未强制POST呼叫,使插件可能遭遇CSRF攻击。攻击者可能利用CSRF恶意软件变更主机名,再诱骗管理员连上服务器,利用被攻击者接管的服务器窃取登入数据。如研究人员就发现OpenStack Cloud Plugin有缺少权限检查的CSRF漏洞问题。但这类漏洞还可能发展成服务器端的请求伪造(SSRF)攻击,藉由测试联机和攻击者掌握的参数,进一步用来进行传输埠扫瞄、探查内部网络架构或暴力破解登入。为避免用户信息透过外挂泄露,研究人员呼吁插件开发人员必须强制执行POST呼叫,以Jenkins.getInstance().checkPermission(Jenkins.ADMINISTER)检查权限,并以Jenkins的Secret及Web form的密码字段来储存登入信息。文章来源:www.cafes.org.tw/info.asp