[KIS-2026-06] MetInfo CMS <= 8.1 (weixinreply.class.php) PHP Code Injection Vulnerability
好的,我现在需要帮用户总结一篇文章的内容,控制在100字以内。首先,我得仔细阅读用户提供的文章内容,理解其主要信息。 这篇文章是关于MetInfo CMS的一个漏洞,影响版本7.9到8.1。漏洞存在于weixinreply.class.php文件中,具体是在wxAdminLogin方法里。问题出在用户输入的EventKey和FromUserName没有被正确过滤,导致缓存方法被利用,进而可以注入和执行任意PHP代码,实现远程代码执行。 接下来,我需要提取关键点:软件名称、漏洞影响版本、漏洞位置、攻击方式、影响以及披露时间。然后将这些信息浓缩成一句话,确保不超过100字。 可能的结构是:MetInfo CMS <=8.1存在代码注入漏洞,影响特定版本,在某个方法中未过滤输入导致缓存写入任意PHP代码,可被利用进行RCE。披露时间为2026年4月1日。 现在检查字数是否符合要求,并确保语言简洁明了。 </think> MetInfo CMS <=8.1版本存在代码注入漏洞,攻击者可通过未过滤的用户输入在缓存中写入任意PHP代码并执行远程代码。该漏洞影响7.9至8.1版本,已公开披露。 2026-4-3 03:53:40 Author: seclists.org(查看原文) 阅读量:4 收藏

fulldisclosure logo

Full Disclosure mailing list archives


From: Egidio Romano <n0b0d13s () gmail com>
Date: Wed, 1 Apr 2026 13:54:41 +0200

---------------------------------------------------------------------------
MetInfo CMS <= 8.1 (weixinreply.class.php) PHP Code Injection Vulnerability
---------------------------------------------------------------------------


[-] Software Link:

https://www.metinfo.cn


[-] Affected Versions:

Versions 7.9, 8.0, and 8.1.


[-] Vulnerability Description:

The vulnerable code is located into the
/app/system/weixin/include/class/weixinreply.class.php script.

Specifically, within the weixinreply::wxAdminLogin() method:

149.     public function wxAdminLogin($data = array(),$code = '')
150.     {
151.         global $_M;
152.         $weixinapi = load::mod_class('weixin/weixinapi','new');
153.         $login_code = cache::get("weixin/".$code);
154.          if ($login_code) {
155.             cache::put("weixin/".$login_code,$data['FromUserName']);
156.          }
157.         return;
158.     }

User input passed through the "EventKey" and "FromUserName" XML tags
from the HTTP request body when dispatching weixin API requests is not
properly sanitized before being used in a call to the cache::get() and
cache::put() methods respectively.

Specifically, the $code parameter may include Path Traversal
sequences, making the cache::get() method into including arbitrary PHP
files. This can be abused to set the $login_code variable to the
"Array" string by including an arbitrary cache file. Subsequently, the
cache::put() method will write the "FromUserName" parameter into the
/cache/weixin/Array.php file, embedding it within double quotes:

30.     public static function put($file, $data, $type = 'php')
31.     {
32.         global $_M;
33.
34.         load::sys_func('file');
35.         $save = PATH_CACHE . $file . '.' . $type;
36.         makefile($save);
37.         #$data = str_replace(array("\"", "\\"), array("\\\"",
"\\\\"), $data);
38.         if (!is_array($data)) {
39.             file_put_contents($save, "<?php\ndefined('IN_MET') or
exit('No permission');\n\$cache=\"{$data}\";\n?>");
40.         } else {
41.             $info = var_export($data, true);
42.             $info = "<?php\ndefined('IN_MET') or exit('No
permission');\n\$cache = {$info};\n?>";
43.             file_put_contents($save, $info);
44.         }
45.     }

This can be exploited by remote, unauthenticated attackers to inject
and execute arbitrary PHP code by abusing PHP's complex curly syntax,
leading to unauthenticated Remote Code Execution (RCE).

NOTE: when MetInfo is running on non-Windows servers, successful
exploitation of this vulnerability requires the /cache/weixin/
directory to exist, which is created when installing and configuring
the official WeChat plugin.


[-] Proof of Concept:

https://karmainsecurity.com/pocs/CVE-2026-29014.php


[-] Solution:

No official solution is currently available.


[-] Disclosure Timeline:

[26/02/2026] - Vendor contacted through several @metinfo.cn and
@mituo.cn email addresses, no response

[07/03/2026] - Tried to reach out to the vendor again, no response

[28/03/2026] - Tried to reach out to the vendor once again, no response

[29/03/2026] - Tried to reach out to the vendor through Weibo, no response

[30/03/2026] - CVE identifier requested

[31/03/2026] - CVE identifier assigned

[01/04/2026] - Public disclosure


[-] CVE Reference:

CVE-2026-29014 has been assigned to this vulnerability.


[-] Credits:

Vulnerability discovered by Egidio Romano.


[-] Original Advisory:

https://karmainsecurity.com/KIS-2026-06
_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: https://seclists.org/fulldisclosure/


Current thread:

  • [KIS-2026-06] MetInfo CMS <= 8.1 (weixinreply.class.php) PHP Code Injection Vulnerability Egidio Romano (Apr 02)

文章来源: https://seclists.org/fulldisclosure/2026/Apr/1
如有侵权请联系:admin#unsafe.sh