主 题:Typecho 1.2+ 未授权 RCE 及修复
发 布 者:Apeiria
标签分类: 日常
时 间:2026-10-25 22:26:19
内容预览:还是hark告诉我的,被扫之前赶紧修了 原帖(ai整理了下信息)影响范围:1.2.0 / 1.2.1 / 1.3.0 及其间的 rc/beta,最新版仍受影响,官方尚未发布修复版。问题:/action/service 异步接口的令牌校验用了松散比较,可被类型绕过;加上方法名不做白名单,无需登录、单个请求即可执行任意 PHP 代码。挂 CDN 或只放行 CF 都挡不住。临时修复(改前先备份)1. var/Typecho/Common.php// 原if (sha1($secret . '%26' . $i) == $token) {// 改if (hash_equals(sha1($secret . '%26' . $i), (string) $token)) {2. var/Widget/Service.php:两处 timeTokenValidate 前加类型判断if (!is_string($token) || !Common::timeTokenValidate($token, $this-%26gt%3boptions-%26gt%3bsecret, 3)) {改完 php -l 检查,重启 php-fpm 或清 opcache。建议php.ini 设置 disable_functions(exec,system,shell_exec,proc_open,popen 等),多一层兜底。手改文件会被重新部署或升级覆盖,官方出修复版前记得重新打。来源:https://www.yunyanck.cn/archives/151/
直达链接: https://www.nodeseek.com/post-1008243-1
发 布 者:Apeiria
标签分类: 日常
时 间:2026-10-25 22:26:19
内容预览:还是hark告诉我的,被扫之前赶紧修了 原帖(ai整理了下信息)影响范围:1.2.0 / 1.2.1 / 1.3.0 及其间的 rc/beta,最新版仍受影响,官方尚未发布修复版。问题:/action/service 异步接口的令牌校验用了松散比较,可被类型绕过;加上方法名不做白名单,无需登录、单个请求即可执行任意 PHP 代码。挂 CDN 或只放行 CF 都挡不住。临时修复(改前先备份)1. var/Typecho/Common.php// 原if (sha1($secret . '%26' . $i) == $token) {// 改if (hash_equals(sha1($secret . '%26' . $i), (string) $token)) {2. var/Widget/Service.php:两处 timeTokenValidate 前加类型判断if (!is_string($token) || !Common::timeTokenValidate($token, $this-%26gt%3boptions-%26gt%3bsecret, 3)) {改完 php -l 检查,重启 php-fpm 或清 opcache。建议php.ini 设置 disable_functions(exec,system,shell_exec,proc_open,popen 等),多一层兜底。手改文件会被重新部署或升级覆盖,官方出修复版前记得重新打。来源:https://www.yunyanck.cn/archives/151/
直达链接: https://www.nodeseek.com/post-1008243-1