cybercrewinc/CVE-2026-36340
GitHub: cybercrewinc/CVE-2026-36340
记录了 Krayin CRM v2.1.5 中因邮件附件上传功能缺乏文件类型验证而导致的认证后远程代码执行漏洞详情、PoC 复现步骤及修复建议。
Stars: 1 | Forks: 0
# CVE-2026-36340
Krayin CRM v2.1.5 中的远程代码执行 (RCE) 漏洞
# Krayin CRM v2.1.5 中的远程代码执行 (RCE) 漏洞
**CVE:** CVE-2026-36340
**严重性:** 严重
**受影响产品:** Krayin CRM v2.1.5
**漏洞类型:** 远程代码执行 (RCE)
**需要身份验证:** 是
## 概述
**Krayin CRM v2.1.5** 中存在一个严重的远程代码执行 (RCE) 漏洞。
该漏洞允许已通过身份验证的用户通过电子邮件撰写功能上传任意 PHP 文件。上传的附件被存储在可公开访问的目录中,且没有适当的验证或执行限制。
因此,攻击者可以上传恶意的 PHP payload,并通过访问上传的文件 URL 来远程执行它。成功的利用可能导致服务器被完全入侵。
## 漏洞详情
存在漏洞的功能位于 **Email → Compose** 中。
受影响的路由:
```
POST /admin/mail/create
```
在将文件作为电子邮件附件上传时,后端未正确执行以下检查:
- 文件扩展名验证
- MIME 类型验证
- 对可执行文件类型的限制
- 对 PHP 代码的过滤或拦截
- 将文件存储在公开可访问的目录之外
因此,应用程序接受了 `.php` 文件,并将其直接存储在以下可公开访问的路径中:
```
/public/storage/emails//.php
```
由于该目录由 Web 服务器提供服务,因此只需访问上传的 PHP 文件的 URL 即可执行该文件。
## 概念验证
1. 登录到 Krayin CRM。
2. 转到 **Email → Compose**。
3. 上传一个 `.php` 文件作为附件。
4. 提交电子邮件表单。
5. 上传的文件存储在以下路径中:
```
/storage/emails//test.php
```
6. 访问上传的文件 URL 将执行上传的 payload。
## 请求
以下请求展示了电子邮件附件上传过程。
受影响的端点示例:
```
POST /admin/mail/create
```
该请求包含了上传的 PHP 附件。
## 响应
服务器存储上传的文件并返回一个可公开访问的文件路径。
上传的文件路径示例:
```
/storage/emails//test.php
```
## 远程代码执行
PHP 文件上传后,可以直接从浏览器访问。
这将导致上传的 PHP payload 被远程执行。
## 视频概念验证
[视频概念验证]
## https://cyber.spool.co.jp/wp-content/uploads/2026/04/RCE-krayin.mp4
## 影响
成功利用该漏洞可能允许攻击者:
- 执行任意操作系统命令
- 上传并运行 Web shell
- 访问、修改或删除服务器文件
- 横向渗透到内部网络资源
- 窃取数据库内容
- 破坏客户数据
- 完全接管 CRM 服务器
## 建议
为缓解此漏洞,建议采取以下措施:
1. 限制允许的文件扩展名。
2. 在服务器端验证 MIME 类型。
3. 将上传的附件存储在公开可访问的目录之外。
4. 通过 Web 服务器规则阻止执行上传的文件。
5. 在后端控制器中添加严格的验证。
6. 拒绝可执行文件类型,例如 `.php`、`.phtml`、`.phar` 及类似扩展名。
7. 使用安全生成的文件名重命名上传的文件。
8. 对上传的文件和目录应用最小权限。
9. 监控上传目录中的可疑文件。
10. 检查所有现有上传的附件中是否存在可执行文件。
## 参考
- GitHub 安全公告:
https://github.com/krayin/laravel-crm/security/advisories/GHSA-4x7x-c646-39jw
- 视频 PoC:
https://drive.google.com/file/d/1yBdvbrXGf9fsFckmK9zTe2v8_vDtdicH/view?usp=drive_web
https://cyber.spool.co.jp/wp-content/uploads/2026/04/RCE-krayin.mp4 - Krayin CRM v2.1.6 发布: https://github.com/krayin/laravel-crm/releases/tag/v2.1.6 - NVD 参考: https://nvd.nist.gov/vuln/detail/CVE-2024-38529 ## 供应商 / 研究人员说明 CyberCrew 可以根据需要提供更多详细信息、测试信息或进一步协助。
受影响的端点示例:
```
POST /admin/mail/create
```
该请求包含了上传的 PHP 附件。
## 响应
服务器存储上传的文件并返回一个可公开访问的文件路径。
上传的文件路径示例:
```
/storage/emails/
## 视频概念验证
[视频概念验证]
## https://cyber.spool.co.jp/wp-content/uploads/2026/04/RCE-krayin.mp4
## 影响
成功利用该漏洞可能允许攻击者:
- 执行任意操作系统命令
- 上传并运行 Web shell
- 访问、修改或删除服务器文件
- 横向渗透到内部网络资源
- 窃取数据库内容
- 破坏客户数据
- 完全接管 CRM 服务器
## 建议
为缓解此漏洞,建议采取以下措施:
1. 限制允许的文件扩展名。
2. 在服务器端验证 MIME 类型。
3. 将上传的附件存储在公开可访问的目录之外。
4. 通过 Web 服务器规则阻止执行上传的文件。
5. 在后端控制器中添加严格的验证。
6. 拒绝可执行文件类型,例如 `.php`、`.phtml`、`.phar` 及类似扩展名。
7. 使用安全生成的文件名重命名上传的文件。
8. 对上传的文件和目录应用最小权限。
9. 监控上传目录中的可疑文件。
10. 检查所有现有上传的附件中是否存在可执行文件。
## 参考
- GitHub 安全公告:
https://github.com/krayin/laravel-crm/security/advisories/GHSA-4x7x-c646-39jw
- 视频 PoC:
https://drive.google.com/file/d/1yBdvbrXGf9fsFckmK9zTe2v8_vDtdicH/view?usp=drive_web
https://cyber.spool.co.jp/wp-content/uploads/2026/04/RCE-krayin.mp4 - Krayin CRM v2.1.6 发布: https://github.com/krayin/laravel-crm/releases/tag/v2.1.6 - NVD 参考: https://nvd.nist.gov/vuln/detail/CVE-2024-38529 ## 供应商 / 研究人员说明 CyberCrew 可以根据需要提供更多详细信息、测试信息或进一步协助。
标签:CISA项目, CRM系统, CVE-2026-36340, Exploit, Krayin CRM, MIME类型绕过, PHP安全, PHP文件上传, PoC, RCE, Webshell, Web安全, 任意文件上传, 存储型漏洞, 开放策略代理, 数据展示, 文件扩展名验证, 暴力破解, 服务器端请求伪造, 漏洞分析, 红队, 编程工具, 网络信息收集, 网络安全, 蓝队分析, 认证后漏洞, 路径探测, 远程代码执行, 附件上传漏洞, 隐私保护, 高危漏洞