Typecho 1.2+ 未授权RCE及修复

Apeiria 2026-10-25 22:26 1



还是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 . '&' . $i) == $token) {
// 改
if (hash_equals(sha1($secret . '&' . $i), (string) $token)) {

2. var/Widget/Service.php:两处 timeTokenValidate 前加类型判断


if (!is_string($token) || !Common::timeTokenValidate($token, $this->options->secret, 3)) {

改完 php -l 检查,重启 php-fpm 或清 opcache。


建议



  • php.ini 设置 disable_functions(exec,system,shell_exec,proc_open,popen 等),多一层兜底。

  • 手改文件会被重新部署或升级覆盖,官方出修复版前记得重新打。


来源:https://www.yunyanck.cn/archives/151/

最新回复 (2)
  • zuorinanqiang 10-25 22:29
    1楼

    没招了,怎么这么多漏洞啊

  • Na 10-25 22:37
    2楼

    真的是太糟糕了

* 帖子来源NodeSeek
返回