去评论
dz插件网

Discuz! X3.4 X3.5 & UCenter无限密码爆破漏洞,请站长尽快修复!否则你论坛密码裸奔

admin
2021/06/30 08:58:59
尊敬的 Discuz! X 用户,您好!

近日,Discuz!安全中心监测到一个UCenter的高风险安全问题,可能会导致部分站点无法正确统计登录失败次数,导致站点存在被密码爆破的风险。通过特殊配置或设计的程序可以通过无限次数破解密码的方式非法控制账号。

漏洞详情
在 Discuz! X3.2 Release 20141225 版本以及同期发布的 UCenter 软件中,开发了一个部分生效的 “允许用户登录失败次数” 功能,但此功能未完整开发之后仅仅注释了界面上的功能项,后续版本也没有继续开发,导致部分站点的 login_failedtime 在 UCenter 后台基本设置处保存时被设置成 0 ,而由于不同功能项对 0 的处理方式有差异导致系统内对此情况的处理手段是不记录登录失败次数而在提示信息中固定返回 4 次,导致漏洞发生,所以如果你的网站输错密码不管多多少次都提示还可以尝试4次,那么请立即更新修复。

Discuz! X安装时,默认不会触发这个漏洞,只有当管理员进入UCenter,设置保存UCenter设置时,才会导致 login_failedtime  被设置为0,从而触发漏洞

风险等级


影响版本
Discuz! X 2014年12月25日 至 2021年6月28日 之间的所有版本(X3.2、X3.3、X3.4、X3.5)
单独使用UCenter的用户请参照上述日期比对文件

您可以到应用中心下载“2021年6月新漏洞专项检测修复工具”,查看自己的站点是否已受到了影响。

安全版本
2021-06-29 及以后的 Discuz! X 和 UCenter

修复建议


1. 目前官方已修复该漏洞,建议受影响的用户尽快升级至最新版本:https://gitee.com/Discuz/DiscuzX/attach_files
2. 无法升级最新版本的用户,可以先运行“2021年6月新漏洞专项检测修复工具”修复出错的数据,并参考 https://gitee.com/Discuz/DiscuzX/pulls/1092 修改站点文件。
【备注】:建议您在升级前做好数据备份工作,测试并评估业务运行状况,避免出现意外

更详细的内容请阅读下方的 Discuz! X 安全公告 进行了解。


附件1:安全公告全文

Discuz! X 安全公告

【2021】第 1 号

2021 年 06 月 29 日


问题简述

现已发现一个高风险安全问题,可能会导致部分站点无法正确统计登录失败次数,导致站点存在被密码爆破的风险。通过特殊配置或设计的程序可以通过无限次数破解密码的方式非法控制账号。

请各位各位站长、站点管理运维人员尽快推动所涉及软件的版本更新,如无法升级也请参考相关指导对软件进行修补,保障站点安全

由于本安全问题给您造成的不便我们深感歉意,并感谢各位站长、站点管理运维人员对我们的理解与支持。

受影响的软件版本

UCenter 1.6.0 在 2014 年 12 月 25 日至 2021 年 06 月 27 日间发布的全部版本

UCenter 1.7.0 截至 2021 年 6 月 28 日的全部每日构建版本和开发版本

Discuz! X3.2 Release 20141225 以及更高版本

Discuz! X3.3 全部已发布的 Release 版本

Discuz! X3.4 Release 20210520 以及更低版本

Discuz! X3.4 截至 2021 年 6 月 27 日的全部每日构建版本和开发版本

Discuz! X3.5 截至 2021 年 6 月 28 日的全部每日构建版本和开发版本

上述软件中只有 UCenter 1.6.0 在 2021 年 05 月 20 日发布的版本以及 Discuz! X3.4 Release 20210520 处于非 EOL 状态,其他涉及的 Release 版本均已 EOL ,不再进行维护。

常见问题解答

Q: 对于未涉及到的软件或版本是否应该继续运行?

A: 未涉及到的软件或版本 ( 包括但不限于 Discuz! X <= 3.2 , UCenter <= 1.6.0 , Discuz! / Discuz! NT / UCenter Home / X-Space / SupeSite 全系,但不含 Discuz! Q ) 虽然不受本安全问题影响,但相关软件均已处于 EOL 状态,不再进行维护,且近期已发现多个涉及相关软件的中低风险安全问题并已在最新版本给予修复。同时 Discuz! X3.4 近期也提供了大量新功能改进、用户体验提升、安全性提升、 BUG 修复等,包括但不限于应对内容安全相关问题进行的内容重新审核功能以及内容安全功能兜底提升,应对 FLASH 停止维护所提供的 HTML5 附件上传、HTML5 多媒体播放功能,以及对 HTTPS 支持等功能进行优化等。并且 Discuz! X3.4 具有较好的环境兼容性,可以同时支持 PHP 5.3 - PHP 7.4 版本以及 MySQL 5.x - 8.0 版本,兼容绝大多数原 X3 之后发布的插件和模板。因此如您暂未有停止运营计划,建议您安排版本升级,以最大限度保障站点安全以及提高用户体验

Q: 对于此安全漏洞建议如何处理?

A: 本故障涉及 Discuz! X3.2 Release 20141225 以及更高版本,相关站点存在被密码爆破的风险,需要尽快升级解决问题。在此建议您升级到 Discuz! X3.4 Release 20210629 以及其配套的 UCenter 软件。相关软件可以从 https://gitee.com/Discuz/DiscuzX 下载。

Q: 如何进行标准升级操作?

A: 如您使用的是 Discuz! X3.2 或更高版本,请使用 Discuz! X3.4 Release 20210629 对应语言对应编码的软件覆盖您当前使用的软件。如 UCenter 不处于默认目录下或处于不同服务器下,您需要对 UCenter 也进行覆盖操作。虽然代码中进行了重映射的规避措施,但仍建议站点到 UCenter 后台基本设置处修改本设置为合理值,随后查看通知列表所涉及站点的 `uc_client/data/cache/settings.php` 缓存文件中的 `login_failedtime` 项是否为大于 0 的值以及其他选项是否正确,以免出现其他功能异常。

Q: 如果无法进行版本升级该如何处理?

A: 可以到应用中心下载 “ 2021年6月新漏洞专项检测修复工具 ” ,查看自己的站点是否已受到了影响以及提供临时缓解措施。如希望通过覆盖函数方式解决问题,也请在覆盖 https://gitee.com/Discuz/DiscuzX/pulls/1092 所涉及函数后参考 https://gitee.com/Discuz/DiscuzX/pulls/675 以及 https://gitee.com/Discuz/DiscuzX/pulls/628 代码更新站点 UCenter 通信相关部分函数代码,避免新配置无法下发。另外也可以参考其他安全相关 commit 对其他安全问题进行加固。

技术细节

在 Discuz! X3.2 Release 20141225 版本以及同期发布的 UCenter 软件中( 版本代码内容后附 ),开发了一个部分生效的 “允许用户登录失败次数” 功能,但此功能未完整开发之后仅仅注释了界面上的功能项,后续版本也没有继续开发。

注释功能项后会导致部分站点的 `login_failedtime` 在 UCenter 后台基本设置处保存时被设置成 0 ,而由于不同功能项对 0 的处理方式有差异导致系统内对此情况的处理手段是不记录登录失败次数而在提示信息中固定返回 4 次,导致 Bug 发生。

此版本通过对 Discuz! X 以及 UCenter 、 UC_Client 进行修改,完成该功能点的开发,同时新增重映射规避措施以解决相关问题。

版本代码内容参见: https://gitee.com/popcorner/dzhi ... ffba32f7b0f356d0d56

补丁代码详见: https://gitee.com/Discuz/DiscuzX/pulls/1092

安全提示

我们强烈建议您使用仍在相关软件开发团队支持期内的操作系统、 Web 服务器、 PHP 、数据库、内存缓存等软件,超出支持期的软件可能会对您的站点带来未知的安全隐患。

Discuz! X 以及 UCenter 软件当前 Release 版本发布规则为当前大版本下有新的 Release 版本发布时,之前的 Release 版本将自动处于 EOL 状态,不再进行维护,请站点在新版本发布后主动更新到新的 Release 版本。

请各位站长、站点管理运维人员以及插件、模板开发者保持对 Discuz! X 官方站 https://www.discuz.net/ 以及 Discuz! X 官方 Git 仓库 https://gitee.com/Discuz/DiscuzX 的关注,以便在安全漏洞发生时可进行修补,让自己的站点时刻保持最安全的状态!