主题已关闭,没有系统记录

@szhorvat 你上次在命令行中进行升级是什么时候?

@tshenry 这是否是因为发现了 PostgreSQL 的漏洞?

我们使用的是 Discourse 的托管服务,因此我无法/不能自行进行升级。我认为它总是自动更新到最新的测试版。

1 个赞

哦,是的,你之前告诉过我 :man_facepalming:t3:

抱歉。

我会等待 @tshenry 的回复。

1 个赞

这应该在以下位置修复:

一旦你明白发生了什么,复现步骤其实很简单:grinning_face_with_smiling_eyes:

  1. 作为管理员,将 min_first_post_length 更改为大于 25 的值

  2. 作为普通用户,创建一个主题并删除它

  3. 你原本期望该主题会被关闭并编辑为显示 (topic deleted by author),但它只会被关闭

问题在于,(topic deleted by author) 这个字符串的长度短于 min_first_post_length,当系统编辑该主题时,帖子长度验证会阻止编辑生效,但主题仍会被关闭,因为关闭操作是单独执行的。

我上面的修复方案会绕过系统在用户删除其帖子时所创建的修订版的所有验证。

11 个赞

这是一次令人印象深刻的漏洞挖掘。:clap::slightly_smiling_face:

5 个赞

多亏了大家的努力,追踪它确实变得容易多了!如果不是这里出色的侦探工作,我想我会多花2-3倍的时间:heart:

5 个赞

此主题已在 10 天后自动关闭。不再允许回复。