discuz!X3.5默认模板宽度从960px改为1200px需要升级的数据库语句

UPDATE `pre_common_setting` SET `svalue` = ‘1’ WHERE `pre_common_setting`.`skey` = ‘allowwidthauto’;

解决Discuz!X3.4 X3.5最新无限循环密码破解爆破漏洞的单独修复补丁官方完整包下载地址:https://gitee.com/Discuz/DiscuzX/attach_files

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

尊敬的 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 的关注,以便在安全漏洞发生时可进行修补,让自己的站点时刻保持最安全的状态!

 

Discuz! X & UCenter出现高风险安全漏洞,请各位站长尽快修复!

尊敬的 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 安全公告 进行了解。

 

1092 修复 部分站点无法正确统计登录失败次数的问题

描述此 Pull Request 的变更

修复 部分站点无法正确统计登录失败次数的问题
描述变更理由

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

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

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

版本代码内容参见: https://gitee.com/popcorner/dzhistory/commit/472d462b8ad3f6b25d5e2ffba32f7b0f356d0d56
对不向前兼容或涉及安全性变更的特殊说明

本故障涉及 X3.2 Release 20141225 以及更高版本,相关站点存在被密码爆破的风险,需要尽快升级解决问题。

虽然代码中进行了重映射的规避措施,但仍建议站点到 UCenter 后台修改本设置为合理值,随后查看通知列表所涉及站点的 uc_client/data/cache/settings.php 缓存文件中的 login_failedtime 项是否为大于 0 的值以及其他选项是否正确,以免出现其他功能异常。

如站点无法进行版本升级,也请在覆盖 !1092:修复 部分站点无法正确统计登录失败次数的问题 所涉及函数后参考 !675:修复 dfopen的socket相关问题(UCenter及安装程序部分) 以及 !628:【轻量级 PR】:修复 UCenter 通讯成功但在部分情况下通知失败导致的问题 代码更新站点 UCenter 通信相关部分函数代码,避免新配置无法下发。另外也可以参考 https://gitee.com/Discuz/DiscuzX/pulls?label_ids=54935126&status=merged 对其他安全问题进行加固。

本 PR 已履行了负责任的漏洞披露程序,在公开前联系 @湖中沉 @DiscuzX 并进行了预测试,感谢上述人员为本修复方案提供的建议以及详尽的测试工作。
关联 Issue

#I3W82V:无论是输入什么账号和密码,一直提示登录失败,还可以尝试4次
Describe the changes to this Pull Request

Fix the problem that some sites cannot count the number of failed logins correctly
Describe the reason for the change

In the Discuz! X3.2 Release 20141225 version and the UCenter software released at the same time (the version code content is attached), a partially effective “Allow User Login Failure Times” function was developed, but after this function is not fully developed, only the interface is annotated The function items on the previous version have not continued to be developed in subsequent versions.

Annotated function items will cause the login_failedtime of some sites to be set to 0 when saved in the basic settings of the UCenter background. However, due to the difference in the way that different function items handle 0, the system’s processing method for this situation is not to log login The number of failures is fixed to return 4 times in the prompt message, resulting in bugs.

This version completes the development of this feature point by modifying Discuz! X, UCenter and UC_Client, and adds remapping circumvention measures to solve related problems.

For version code content, please refer to: https://gitee.com/popcorner/dzhistory/commit/472d462b8ad3f6b25d5e2ffba32f7b0f356d0d56
Special instructions for incompatibility or security changes involved

This failure involves X3.2 Release 20141225 and later versions. There is a risk of password blasting for related sites, and the problem needs to be upgraded as soon as possible.

Although the remapping circumvention measures have been implemented in the code, it is still recommended that the site go to the UCenter backend to modify this setting to a reasonable value, and then check the cache file in the uc_client/data/cache/settings.php of the site involved in the notification list Whether the login_failedtime item is a value greater than 0 and whether other options are correct, so as to avoid other functional abnormalities.

If the site cannot be upgraded, please refer to !675:修复 dfopen的socket相关问题(UCenter及安装程序部分) and https after covering the functions involved in !1092:修复 部分站点无法正确统计登录失败次数的问题 !628:【轻量级 PR】:修复 UCenter 通讯成功但在部分情况下通知失败导致的问题 Code update site UCenter communication related part of the function code, to avoid the new configuration can not be delivered. You can also refer to https://gitee.com/Discuz/DiscuzX/pulls?label_ids=54935126&status=merged to reinforce other security issues.

This PR has performed the responsible vulnerability disclosure procedure, contacted @湖中沉 @DiscuzX and pre-tested before the disclosure, thanks to the above-mentioned personnel for their suggestions and detailed testing work for this repair solution.
Associated Issue

#I3W82V:无论是输入什么账号和密码,一直提示登录失败,还可以尝试4次

 

https://gitee.com/Discuz/DiscuzX/pulls/1092

发表回复

后才能评论