Jenkins 安全修复 SECURITY-626 的紧急通知

2020-12-24 14:49:50 浏览数 (1)

? 普通用户

检查你的 Jenkins 版本,界面上是否有 SECURITY-626 相关的安全漏洞提醒。如果有的话,建议准备升级。尤其是对于 Jenkins 运行在公有云环境中的用户。后文,您可以选择性阅读。

? 开发者(或将 Jenkins 作为 CI/CD 工具集成的厂商、用户)

仔细阅读下面的内容,并根据具体情况做响应的调整。

默认情况下,Jenkins 中的 CSRF Token 只对认证信息以及 IP 地址进行校验。这就导致了一个潜在的安全漏洞,攻击者可以利用另外一个用户的 CSRF Token 进行攻击,而且只要受害者的 IP 地址保持不变,就可以一直有效。

从 Jenkins 2.176.2 开始,CSRF Token 还会检查 Web Session ID 以确保他们是来自于同一个会话。当会话失效后,对应的 Token 也会不可用。

因此,默认情况下,通过 /crumbIssuer/api 这个 API 获取的 Token 将会无法使用。除非,这些 Token 能关联到同一个会话上。

? 解决方案

  1. 安装插件 Strict Crumb Issuer Plugin 后,自定义 Crumb 校验规则
  2. 禁用新特性,设置系统属性 hudson.security.csrf.DefaultCrumbIssuer.EXCLUDE_SESSION_ID 为 true

? 案例与参考资料

KubeSphere 对于开源平台 KubeSphere 的用户来说,已经不用担心这个问题,社区已经在 ks-jenkins 这个项目中修复了这个问题。

更多参考资料:

https://www.jenkins.io/doc/upgrade-guide/2.176/#SECURITY-626 https://github.com/kubesphere/kubesphere/issues/3209 https://github.com/kubesphere/ks-jenkins/

0 人点赞