JumpServer连接令牌泄漏漏洞CVE-2025-62712
JumpServer是开源的运维安全审计系统(堡垒机),用于集中管理服务器、网络设备、数据库等IT资源访问,支持批量操作和自动化运维。
一、基本情况
JumpServer支持多种认证方式和权限配置,广泛应用于IT运维、系统管理以及云平台环境中,主要应用于企业内部资产的安全管理与审计。

JumpServer 通过集中管理和审计运维对服务器访问,提供统一访问控制、权限管理、会话录制等功能,确保敏感操作安全性与可追溯性。
栋科技漏洞库关注到 JumpServer 受影响版本中存在一个安全漏洞,该漏洞现在已经被追踪为CVE-2025-62712,漏洞CVSS 3.X评分9.6。
二、漏洞分析
CVE-2025-62712漏洞是存在于在JumpServer v3.10.20-lts及v4.10.11-lts之前的版本中,漏洞允许认证用户越权获取其他用户的连接令牌。
这是一个权限校验不足漏洞,源于其super-connection-token接口未进行严格的权限验证,可能导致敏感系统的未经授权访问和权限提升。
经过身份验证的非特权用户可以通过超级连接API端点(/api/v1/authentication/super-connection-token/)检索到其他用户的连接令牌。
当通过Web浏览器访问该接口时,它会返回所有用户(包括管理员)创建的连接令牌,而不是将结果限制为请求者本人拥有或授权的令牌。
这就意味着,经过认证的非特权用户可以直接检索其他用户所属的连接令牌,通过获取这些令牌冒充原令牌所有者,向受管资产发起连接。
攻击者可以直接冒充管理员身份连接至资产,访问和管理敏感资产,执行恶意操作,导致权限提升和未授权访问。
1、漏洞代码
@@ -362,6 +362,7 @@ def perform_create(self, serializer):
self.validate_serializer(serializer)
return super().perform_create(serializer)
def _insert_connect_options(self, data, user):
connect_options = data.pop('connect_options', {})
default_name_opts = {
@@ -564,15 +565,22 @@ class SuperConnectionTokenViewSet(ConnectionTokenViewSet):
rbac_perms = {
'create': 'authentication.add_superconnectiontoken',
'renewal': 'authentication.add_superconnectiontoken',
'list': 'authentication.view_superconnectiontoken',
'check': 'authentication.view_superconnectiontoken',
'retrieve': 'authentication.view_superconnectiontoken',
'get_secret_detail': 'authentication.view_superconnectiontokensecret',
'get_applet_info': 'authentication.view_superconnectiontoken',
'release_applet_account': 'authentication.view_superconnectiontoken',
'get_virtual_app_info': 'authentication.view_superconnectiontoken',
}
def get_queryset(self):
return ConnectionToken.objects.all()
return ConnectionToken.objects.none()
def get_object(self):
pk = self.kwargs.get(self.lookup_field)
token = get_object_or_404(ConnectionToken, pk=pk)
return token
def get_user(self, serializer):
return serializer.validated_data.get('user')
2、潜在漏洞点
get_queryset 方法被修改为返回 ConnectionToken.objects.none(),这可能会影响数据的查询和访问。
新增的 get_object 方法通过 pk 获取 ConnectionToken 对象,如果 pk 不正确或不存在,会返回 404 错误。需要确保 pk 的验证和安全性。
这些更改可能会影响到系统的权限管理和数据访问控制,需要注意潜在的安全风险。
3、权宜之计
如果无法通过更新版本修复,通过修改Nginx配置以阻止超级连接API的GET请求:
location = /api/v1/authentication/super-connection-token/ {
if ($request_method = GET) { return 405; } # Block GET explicitly
proxy_pass http://jumpserver_backend;
}
location = /api/v1/resources/super-connection-tokens/ {
if ($request_method = GET) { return 405; } # Block GET explicitly
proxy_pass http://jumpserver_backend;
}
三、影响范围
JumpServer < v3.10.19-lts
JumpServer < v4.10.10-lts
四、修复建议
JumpServer >= v3.10.20-lts
JumpServer >= v4.10.11-lts
五、参考链接
管理员已设置登录后刷新可查看