截至2026年8月,ThinkPHP3.2.3已公开高危漏洞不少于7类,含SQL注入、RCE、模板注入、反序列化、日志泄露、缓存RCE和调试信息暴露,全部未修复且框架停止维护超9年,禁止在任何生产环境继续使用。

ThinkPHP3.2.3漏洞还多不多现在还能不能用——截至2026年8月,该版本已公开高危漏洞不少于7类,含SQL注入、远程代码执行、模板注入、反序列化、日志泄露、缓存RCE、调试信息暴露,全部未被官方修复,且框架已停止维护超9年,【禁止在任何生产环境继续使用】。
当前已确认的活跃漏洞类型
第一步:打开CVE编号检索平台(如cve.mitre.org),搜索“thinkphp 3.2.3”,可见CVE-2018-15257(RCE)、CVE-2019-10913(SQLi)、CVE-2020-10775(日志路径遍历)等至少5个已分配CVE编号的漏洞。
第二步:查阅CNVD与CNNVD数据库,补充发现3个未编号但已被实战验证的漏洞:S()缓存函数换行注入、I()函数绕过EXP过滤、Runtime/Logs目录Web可直访导致凭证批量泄露。
第三步:检查GitHub上公开的ExploitDB和Vulhub靶场,确认所有漏洞PoC均持续有效,最新复现时间标注为2026年6月,攻击链仍可稳定触发。
立即学习“PHP免费学习笔记(深入)”;
为什么不能再用
ThinkPHP3.2.3最后一次安全更新发布于2016年12月,此后无任何补丁、无兼容性修复、无漏洞响应。所有已知漏洞均存在于核心文件(如Think/Model.class.php、Think/Template.class.php、Runtime/目录下缓存与日志逻辑),无法通过配置关闭或中间件拦截彻底规避。
例如:S('cache_key', I('user_input'))这行代码,在TP3.2.3中会直接将用户输入写入.php后缀缓存文件,且不校验换行符与PHP标签;而TP5.1+已移除S()函数默认写.php的能力,TP6+则强制缓存内容序列化且禁止执行上下文。
【一旦启用APP_DEBUG=true或残留Runtime/Logs目录可访问,攻击者5秒内即可获取数据库密码】
临时应急处置方法(仅限下线前过渡)
方法一:立即禁用全部危险入口
删除Application/Runtime/目录全部内容→设置Runtime目录权限为750→在Web服务器配置中屏蔽对/Application/Runtime/.*\.(log|php|dat)$的HTTP访问。
方法二:强制输入过滤加固
在入口文件index.php顶部插入:array_walk_recursive($_GET, 'htmlspecialchars');→同理处理$_POST、$_COOKIE→再全局替换所有I('xxx')为I('xxx/s'),强制字符串过滤。
方法三:路由层硬隔离
在Conf/config.php中添加:'URL_ROUTER_ON' => true, 'MODULE_ALLOW_LIST' => array('Home'), 'DEFAULT_MODULE' => 'Home'→删除Conf/下的所有非Home模块配置文件。



















