暮光博客

小心你讨厌的东西,因为你很可能被它塑造成某种形状

Typecho v1.2.1-rc 的 XSS 漏洞

技术 11 条评论

3 月份 Typecho 被曝出评论区网址字段存在存储型 XSS 漏洞,详见 issue#1545,为此,官方释出了 v1.2.1-rc 解决该漏洞。

然而,v1.2.1-rc 版本未能完全修复该问题,评论区的邮箱字段同样存在存储型 XSS 漏洞。对此我 4 月份提交了 issue#1560pull#1561 以解决该漏洞,但此 PR 还未进行合并。

💬[2023-05-17] Typecho 在 v1.2.1-rc.2 版本将我的 PR 合并,该问题已得到解决。

影响范围

Typecho 版本:v1.2.0 ~ v1.2.1-rc

PS:版本低于 v1.2.0 的用户不受影响。

漏洞原因

漏洞原因我已在 issue#1560 进行说明,可以进去看看。大致原因是 v1.2.0 之后 Typecho 官方更新了评论网址和邮箱的字段验证器,但新的验证器使用了 PHP 的 filter_var() 方法,该方法作为验证器并不够严格,包含了恶意代码的值可以顺利通过校验。管理员在 Typecho 后台查看该评论时,恶意代码就会被执行,并进一步完成提权等恶意操作。

POC

POC 同样参见 issue#1560

解决方案

在官方发布版本彻底修复该漏洞前,请按照以下思路进行修复:

使用 v1.2.0 的用户,请先升级到 v1.2.1-rc,然后按照 pull#1561 进行修复。
使用 v1.2.1-rc 的用户,直接按照 pull#1561 进行修复。

在问题修复前,建议临时关闭评论功能,以避免可能的攻击。

写在博客十周年这一天
评论区 / 取消回复
选择表情选择表情
  1. 看来还是不要更新的太勤快

    回复
  2. icon_exclaim.gif 现在准备等1.3正式版了。测试版已经发了。

    回复
  3. 原来typecho也是有热心群众的。

    回复
  4. 必须感谢袋鼠哥 当时中招了 还要能一键回滚

    回复
  5. 谢谢老袋鼠,尽管我用不到 icon_eek.gif

    回复
  6. 微波卢

    icon_exclaim.gif

    回复
  7. 这问题得重视,找个时间打补丁去。

    回复
  8. 唉,N年不更新,一更新了出问题了。

    回复
    1. @老张博客

      是啊,老版本反而没问题。

      回复
  9. 首次抢到沙发!

    回复
    1. 回复