TazmiDev/CVE-2026-36239
GitHub: TazmiDev/CVE-2026-36239
该项目记录并复现了 PbootCMS ≤3.2.12 后台 sitecopyright 字段因 `decode_string()` 处理不当导致的已认证远程代码执行漏洞。
Stars: 2 | Forks: 0
# CVE-2026-36239
CVE-2026-36239:PbootCMS v3.2.12 后台(sitecopyright)已认证 RCE 漏洞
漏洞概述:
在 PbootCMS 后台管理界面的 `sitecopyright` 功能中发现了一个严重的远程代码执行(RCE)漏洞。具体而言,通过“底部信息”字段提交的不可信输入在处理并渲染到前端页面上之前,未经过充分的清理。已通过认证的管理员(其会话可能已遭到破坏或受到社会工程学攻击)可能会在无意中引入恶意的 PHP 代码。在前端页面渲染时,此代码会在服务器的运行时上下文中执行,从而导致系统被完全控制。
漏洞详情:
- 易受攻击的组件:`/apps/home/controller/ParserController.php`(第 261 行)中的 `decode_string()` 函数
- 根本原因:不安全的反序列化和输出处理——具体而言,依次应用 `stripcslashes()` 和 `htmlspecialchars_decode()` 实际上还原了 HTML 实体编码和转义序列,恢复了可执行的 PHP 代码,随后这些代码在没有经过验证或沙盒处理的情况下被直接输出到模板内容中。
- 受影响上下文:任何使用 `{pboot:sitecopyright}` 模板标签的前端页面。
利用流程:
1. 攻击者获得后台管理的认证访问权限(例如,通过凭据重用、会话劫持或钓鱼)。
2. 导航至站点配置页面 (`/admin.php?p=/Site/mod`)。
3. 将恶意的 PHP payload 注入到“底部信息”字段中——例如:
`');?>`
4. 提交并保存配置。
5. 触发模板缓存清理 (`/admin.php?p=/Index/clearCache`) 以确保更新的内容被解析。
6. 访问任何包含 `{pboot:sitecopyright}` 的前端页面,导致注入的 payload 执行,并将 web shell (`shell.php`) 写入到 web 根目录。
风险评估:
此漏洞会带来严重的安全影响,包括但不限于:
- 以 web 服务器进程的权限执行任意远程代码;
- 宿主环境被完全控制,包括横向移动和权限提升;
- 未经授权访问后端数据库、配置文件和其他敏感资产;
- 部署持久化后门并建立长期的命令与控制(C2)通道。
受影响版本:
- 已在 PbootCMS v3.2.12 中得到确认。
- 所有包含 `decode_string()` 函数以处理 `sitecopyright` 内容的版本均可能受到影响,尤其是当来自管理界面的输入未经任何过滤就通过此程序处理时。
标签:CVE, PbootCMS, RCE, Web安全, 数字签名, 蓝队分析