重要通知|JumpServer漏洞通知及修复方案(JS-2026.09.09)

admin 2026-09-11 05:00:57 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: JumpServer发布安全公告,修复SQL查询过滤缺陷导致的AccessKey泄露漏洞,影响V3和V4多个版本。任意已登录普通用户可越权获取管理员AccessKey。建议升级至安全版本,或按文档在Nginx配置中禁用相关过滤参数作为临时缓解措施,并提供了详细操作步骤与验证方法。 综合评分: 85 文章分类: 漏洞预警,解决方案


重要通知|JumpServer漏洞通知及修复方案(JS-2026.09.09)

原创

hqytech hqytech

一个和谐有爱的空间

2026年9月9日 22:25 广东

在小说阅读器读本章

去阅读

在公众号小说中沉浸阅读

2026年8月,JumpServer开源项目组收到安全研究人员提交的漏洞报告。经验证,此次发现的漏洞包括:

■ JumpServer SQL查询过滤存在缺陷导致Access Key泄露漏洞,漏洞详情:https://github.com/jumpserver/jumpserver/security/advisories/GHSA-6rp5-ff2m-qfrm

漏洞利用条件:

任意已登录的普通用户只需在API请求中附加特定参数,便能越权获取管理员的Access Key。

漏洞影响版本为:

JumpServer V3版本:>=v3.7.0 且 <v3.10.23 LTS

JumpServer V4版本:>=v4.0.0 且 <v4.10.19 LTS

安全版本为:

JumpServer V3版本:>=v3.10.23 LTS

JumpServer V4版本:>= v4.10.19 LTS

修复方案

将JumpServer堡垒机(含社区版和企业版)升级至安全版本。

临时修复方案:

在Nginx配置文件中禁用以下相关过滤参数:

  1. 如果HTTPS已启用,可以通过修改/opt/jumpserver/config/nginx/lb_http_server.conf配置文件完成;

  2. 如果HTTPS没有启用,则需要修改jms_web容器中的/etc/nginx/conf.d/http_server.conf配置文件,完成后执行容器commit保存变更。更新完成后,重启jms_web容器。

location / {&nbsp; &nbsp;&nbsp;if&nbsp;($args&nbsp;~*&nbsp;"(^|&)(_|%5f)(r|%72)(e|%65)(l|%6c)=") { &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;return&nbsp;400; &nbsp; &nbsp;&nbsp; &nbsp; } &nbsp; &nbsp;&nbsp; &nbsp; .....}

相关操作步骤

[root@localhost ~]# docker ps

CONTAINER ID   IMAGE                       COMMAND                   CREATED         STATUS                   PORTS                                       NAMES

4ce04bc2220d   redis:7.0-bullseye          “docker-entrypoint.s…”   2 years ago     Up 15 months (healthy)   6379/tcp                                    jms_redis

8257d2bf7ed8   jumpserver/lion:v4.0.1-ce   “./entrypoint.sh sup…”   2 years ago     Up 15 months (healthy)   4822/tcp, 8081/tcp                          jms_lion

c5879d27084c   jumpserver/chen:v4.0.1-ce   “./entrypoint.sh wisp”    2 years ago     Up 15 months (healthy)   8082/tcp                                    jms_chen

0fff240894d5   jumpserver/web:v4.0.1-ce    “/docker-entrypoint.…”   2 years ago     Up 15 months (healthy)   0.0.0.0:80->80/tcp, :::80->80/tcp           jms_web

97f27fd71673   jumpserver/core:v4.0.1-ce   “./entrypoint.sh sta…”   2 years ago     Up 15 months (healthy)   8080/tcp                                    jms_core

d8c50aad2b87   mariadb:10.6                “docker-entrypoint.s…”   2 years ago     Up 15 months (healthy)   3306/tcp                                    jms_mysql

735fd3e70e93   jumpserver/core:v4.0.1-ce   “./entrypoint.sh sta…”   2 years ago     Up 15 months (healthy)   8080/tcp                                    jms_celery

1e59ee903ca4   jumpserver/koko:v4.0.1-ce   “./entrypoint.sh ./k…”   2 years ago     Up 15 months (healthy)   0.0.0.0:2222->2222/tcp, :::2222->2222/tcp   jms_koko

[root@localhost ~]#

如何进到这个jumpserver/web:v4.0.1-ce 容器

可以用 docker exec 进入这个容器。你的 jumpserver/web:v4.0.1-ce 容器名是 jms_web,容器 ID 是 0fff240894d5

推荐用容器名进入:

docker exec -it jms_web /bin/bash

如果没有 bash,就用 sh

docker exec -it jms_web /bin/sh

也可以用容器 ID:

docker exec -it 0fff240894d5 /bin/bash

进入后你会在容器内部的 shell 里。退出容器执行:

exit

你会发现,没有vim和vi命令,非常蛋疼,可以单独安装,但docker重新启动后就还原了,也可以尝试用echo追加内容,但是修改位置不是最后追加,比较好的方法就是复制出来,修改好后复制回去

1.追加一行可以用:

echo "内容" >> /path/to/file

替换内容可以用:

sed -i 's/旧内容/新内容/g' /path/to/file

2. 从宿主机复制出来改,再复制回容器

先退出容器,在宿主机执行:

docker cp jms_web:/容器内/文件路径 ./文件名

在宿主机上用编辑器改完后,再复制回去:

docker cp ./文件名 jms_web:/容器内/文件路径

3. 临时安装编辑器

先进容器后看系统类型:

cat /etc/os-release

如果是 Debian/Ubuntu:

apt update
apt install -y vim

如果是 Alpine:

apk add --no-cache vim

不过容器重建后安装的东西通常会丢,所以更推荐第 2 种:docker cp 出来,在宿主机改,再复制回去。

修复后可通过以下命令进行验证:

curl -sk -o /dev/null -w&nbsp;'%{http_code}\n'&nbsp;'http://<地址>/api/v1/users/users/?_rel=not'&nbsp; &nbsp;&nbsp;# 期望 400curl -sk -o /dev/null -w&nbsp;'%{http_code}\n'&nbsp;'http://<地址>/api/v1/users/users/?%5Frel=not'&nbsp;&nbsp;# 期望 400curl -sk -o /dev/null -w&nbsp;'%{http_code}\n'&nbsp;'http://<地址>/api/v1/users/users/'&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# 期望 401/403

但是呢,允许reboot重新启动的条件下,建议还是直接升级到最新版本,最省事了。

JumpServer V3 如果要升级到 V4 版本,需要先升级到 V3 的最新版本,否则升级会失败!

| OS/Arch | Architecture | Linux Kernel | Offline Name | | — | — | — | — | | linux/amd64 | x86_64 | >= 4.0 | jumpserver-ce-None-x86_64.tar.gz |

如何 升级部署⚓︎

linux/amd64

从飞致云社区

https://docs.jumpserver.org/zh/v4/installation/setup_linux_standalone/offline_upgrade/

下载最新的 linux/amd64 离线包, 并上传到部署服务器的 /opt 目录。

cd&nbsp;/opt
tar -xf jumpserver-ce-None-x86_64.tar.gz
cd&nbsp;jumpserver-ce-None-x86_64
./jmsctl.sh upgrade
./jmsctl.sh start查看升级是否最新版本

特别鸣谢

感谢来自Smart Oasis的GitHub用户@sajjadhaqi向JumpServer开源社区及时反馈上述漏洞。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:一个和谐有爱的空间 hqytech hqytech《重要通知|JumpServer漏洞通知及修复方案(JS-2026.09.09)》

评论:0   参与:  0