CVE-2026-34607Emlog开源建站系统2.6.2及更早版本中存在严重的路径遍历漏洞。该漏洞位于`emUnZip`函数中,由于在解压ZIP归档时未对条目名称进行充分过滤,经过身份验证的管理员可以上传特制的ZIP压缩包。攻击者利用文件名中的`../`序列,可将恶意文件(如Webshell)写入服务器文件系统的任意位置,最终导致远程代码执行。目前官方尚未发布修复补丁。
漏洞核心位于Emlog源码`include/lib/common.php`第793行的`emUnZip`函数中。该函数负责处理插件、模板上传及备份导入等场景下的ZIP文件解压操作。问题代码直接调用了PHP ZipArchive类的`extractTo($path)`方法,但在此之前完全缺失了对压缩包内部文件路径的安全校验与清洗机制。攻击者利用这一缺陷,可以构造一个恶意的ZIP文件,其中包含的文件名含有路径遍历序列(例如`../../shell.php`)。当拥有管理员权限的攻击者上传该ZIP文件时,系统会自动解压。由于路径未受限制,恶意文件会被写入到原本预期的解压目录之外,如Web根目录。攻击者随后可通过浏览器访问该恶意文件,从而在服务器端执行任意系统命令,完全控制服务器。