漏洞描述
JumpServer是一款开源堡垒主机和运维安全审计系统。在JumpServer v3.10.20-lts及v4.10.11-lts之前的版本中,经过身份验证的非特权用户可以通过超级连接API端点(/api/v1/authentication/super-connection-token/)检索到其他用户的连接令牌。当通过Web浏览器访问此端点时,它会返回所有用户创建的连接令牌,而不是将结果限制为请求者拥有或授权的令牌。攻击者获得这些令牌后,可以代表原始令牌所有者连接到管理的资产,从而导致敏感系统的未经授权访问和权限提升。
受影响版本
JumpServer < v3.10.20-lts
JumpServer < v4.10.11-lts
复现分析
环境搭建
使用官方提供快速搭建脚本,修改为受漏洞影响的版本(例如v3.6.1),运行脚本会自动拉取镜像,环境搭建好后可以正常访问。
参考:https://github.com/jumpserver/jumpserver/releases/latest/download/quick_start.sh

复现步骤
直接访问包含漏洞的接口/api/v1/authentication/super-connection-token/时,会响应401。

登录管理员登录后台后,先创建一个普通用户lele。
使用新创建的普通用户登录时,获取相关的Cookie后再访问包含漏洞的接口/api/v1/authentication/super-connection-token/即可获取到所有用户创建的连接令牌。

修复建议
官方已发布安全补丁,请及时更新至最新版本
JumpServer >= v3.10.20-lts
JumpServer >= v4.10.11-lts
下载地址:
https://community.fit2cloud.com/#/products/jumpserver/downloads
临时修复方案:修改 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;}
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)



