JumpServer远程代码执行漏洞

JumpServer是全球首款完全开源的堡垒机,基于Python/Django开发,使用 GNU GPL v2.0 开源协议,是符合4A的专业运维审计系统。

编号 (2021-0115) 日期 2021-01-15
特征 远程代码执行漏洞 等级 严重
描述 由于JumpServer某些接口未做授权限制,攻击者可构造恶意请求获取敏感信息,或者执行相关操作控制其中所有机器,执行任意命令。
相关链接
影响 JumpServer < v2.6.2
JumpServer < v2.5.4
JumpServer < v2.4.5
JumpServer = v1.5.9

解决方案

升级版本

将JumpServer升级至安全版本:

JumpServer >= v2.6.2
JumpServer >= v2.5.4
JumpServer >= v2.4.5

临时修复方案

修改Nginx配置文件屏蔽漏洞接口:

/api/v1/authentication/connection-token/
/api/v1/users/connection-token/

Nginx配置文件位置:

# 社区老版本
/etc/nginx/conf.d/jumpserver.conf

# 企业老版本
jumpserver-release/nginx/http_server.conf

# 新版本
jumpserver-release/compose/config_static/http_server.conf

修改 Nginx 配置文件实例:

### 保证在 /api 之前 和 / 之前
location /api/v1/authentication/connection-token/ {
    return 403;
}

location /api/v1/users/connection-token/ {
    return 403;
}
### 新增以上这些

location /api/ {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass       http://core:8080;
}

...

修改完成后重启nginx:

# docker
docker restart jms_nginx

# nginx
systemctl restart nginx

修复验证

$ wget https://github.com/jumpserver/jumpserver/releases/download/v2.6.2/jms_bug_check.sh

# 使用方法 bash jms_bug_check.sh HOST
$ bash jms_bug_check.sh demo.jumpserver.org
漏洞已修复

入侵检测

下载脚本到jumpserver日志目录,这个目录中存在gunicorn.log,然后执行:

$ pwd
/opt/jumpserver/core/logs

$ ls gunicorn.log
gunicorn.log

$ wget 'https://github.com/jumpserver/jumpserver/releases/download/v2.6.2/jms_check_attack.sh'
$ bash jms_check_attack.sh
系统未被入侵

原创文章禁止转载:技术学堂 » JumpServer远程代码执行漏洞

赞 (0) 打赏

精彩评论

9+6=

感谢您的支持与鼓励

支付宝扫一扫打赏

微信扫一扫打赏