数字医学与健康大会DMHC——美创与您相约古都金陵
2025-08-12
美创科技打造县域医疗灾备新标杆|神木市医院 HIS 系统数据库分钟级切换演练实录
2025-07-02
百万罚单警示!DCAS助力金融机构筑牢数据安全防线,实现监管合规
2025-06-20
2025中国互联网产业年会丨《中国互联网产业绿色算力发展倡议》正式发布
2025-02-07
美创用户专访 | 精细化管理:医疗行业数据分类分级的策略与实践
2025-01-10
存储域
数据库加密 诺亚防勒索访问域
数据库防水坝 数据库防火墙 数据库安全审计 动态脱敏流动域
静态脱敏 数据水印 API审计 API防控 医疗防统方运维服务
数据库运维服务 中间件运维服务 国产信创改造服务 驻场运维服务 供数服务安全咨询服务
数据出境安全治理服务 数据安全能力评估认证服务 数据安全风险评估服务 数据安全治理咨询服务 数据分类分级咨询服务 个人信息风险评估服务 数据安全检查服务漏洞描述
JumpServer 是全球首款完全开源的堡垒机, 使用GNU GPL v2.0 开源协议, 是符合4A 的专业运维审计系统。JumpServer 使用Python / Django 进行开发。
2021年1月15日,JumpServer发布更新,修复了一处远程命令执行漏洞。由于 JumpServer 某些接口未做授权限制,攻击者可构造恶意请求获取到日志文件获取敏感信息,或者执行相关API操作控制其中所有机器,执行任意命令。建议相关用户尽快采取措施阻止漏洞攻击。
影响范围
JumpServer < v2.6.2
JumpServer < v2.5.4
JumpServer < v2.4.5
JumpServer = v1.5.9
漏洞分析
查看漏洞修复的代码更新部分
https://github.com/jumpserver/jumpserver/commit/f04e2fa0905a7cd439d7f6118bc810894eed3f3e
发现是在apps/ops/ws.py文件中加入了一段判断是否已经进行身份认证的代码。
下载源码包,更新的apps/ops/ws.py文件是一个TaskLogWebsocket类,搜索TaskLogWebsocket类的调用。
在apps/ops/urls/ws_urls.py调用了TaskLogWebsocket类,该类中定义了一个/ws/ops/tasks/log/的websocket请求接口,也就是说当发起ws://xxx/ws/ops/tasks/log/这个接口的请求时,都会调用TaskLogWebsocket类。
通过TaskLogWebsocket类中方法的调用关系,可以看出各方法的调用顺序如下。
继续跟进到apps/ops/celery/utils.py和apps/ops/ansible/utils.py中,发现它们都调用了ops.utils的get_task_log_path方法。
继续跟进,在该方法中,task_id参数是可控的,该方法可以读取.log后缀的文件。
从以上调用链中可以发现,在未修复漏洞时,ws://xxx/ws/ops/tasks/log/这个websocket接口是可以未授权访问的,可以读取.log后缀的文件。
漏洞复现
环境搭建
利用安装脚本可以快速进行安装
V2.6.1安装脚本:https://www.o2oxy.cn/wp-content/uploads/2021/01/quick_start.zip(参考https://www.o2oxy.cn/2921.html)
安装完成后启动JumpServer,访问http://192.168.210.37:8080,默认初始账户密码为admin/admin
修改初始密码后重新登录,进入主界面。
未授权文件读取漏洞复现
退出登录,使用chrome websocket插件进行未授权文件读取测试
ws://192.168.210.37:8080/ws/ops/tasks/log/
{"task":"/opt/jumpserver/logs/jumpserver"}
也可以使用poc脚本进行测试
https://github.com/Skactor/jumpserver_rce
远程命令执行漏洞复现
管理员登录,创建一个资产。
配置用户和权限,登录web终端。
读取gunicorn.log文件,获取asset_id、system_user_id、user_id三个参数值,搜索/asset-permissions/user/validate即可。
修改exp脚本中相应的参数,运行
修复建议
安全版本
>= v2.6.2
>= v2.5.4
>= v2.4.5
= v1.5.9 (版本号没变)
< v1.5.3
修复方案
将JumpServer升级至安全版本
临时修复方案
修改 Nginx 配置文件屏蔽漏洞接口
详情见官方主页:
https://github.com/jumpserver/jumpserver