# XXL-JOB 垂直越权漏洞 CVE-2022-36157 ## 漏洞描述 XXL-JOB 是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。XXL-JOB 分为 admin 和 executor 两端,前者为后台管理页面,后者是任务执行的客户端。 在 XXL-JOB v.2.3.1 版本及以前, 存在垂直越权漏洞,能够使用低权限帐户执行管理员功能。该漏洞在 v.2.4.0 版本修复。 参考链接: - https://github.com/advisories/GHSA-7qq9-9g2w-56f9 ## 漏洞影响 ``` XXL-JOB <= v2.3.1 ``` ## 网络测绘 ``` app="XXL-JOB" || title="任务调度中心" || ("invalid request, HttpMethod not support" && port="9999") ``` ## 环境搭建 本地搭建 XXL-JOB v2.3.1,源码 https://github.com/xuxueli/xxl-job/archive/refs/tags/2.3.1.zip 环境启动后,访问 `http://your-ip:8080/xxl-job-admin/toLogin` 即可查看到管理端(admin),访问 `http://your-ip:9999` 可以查看到客户端(executor)。 默认口令 `admin/123456` 登录后台: ![](images/XXL-JOB%20默认%20accessToken%20身份绕过漏洞/image-20241112174933070.png) ## 漏洞复现 创建一个普通用户 user: ``` user/GO_7YhvzrHF4 ``` ![](images/XXL-JOB%20垂直越权漏洞%20CVE-2022-36157/image-20241113085305599.png) 以普通用户 user 身份重新登录: ![](images/XXL-JOB%20垂直越权漏洞%20CVE-2022-36157/image-20241113085718183.png) 普通用户与管理员用户导航栏: - 管理员用户 admin:运行报表、任务管理、调度日志、执行器管理、用户管理、使用教程 - 普通用户 user:运行报表、任务管理、调度日志、使用教程 以普通用户 user 身份直接访问 `http://your-ip:8080/xxl-job-admin/jobgroup`,即可获取执行器管理权限: ![](images/XXL-JOB%20垂直越权漏洞%20CVE-2022-36157/image-20241113090022721.png) ## 漏洞修复 该漏洞在 v.2.4.0 版本修复。