WordPress 6.4.1 修复了一个关键的 cURL/请求错误

在过去的 24 小时内,WordPress 贡献者迅速工作,准备了 6.4.1 维护版本,因为请求库中的更改出现了一个严重的错误,导致运行旧版本 cURL 的服务器上的更新出现问题。

WordPress 6.4.1 维护版本

托管公司开始报告该漏洞的广泛影响。来自丹麦最大的托管公司之一的 Tom Sommer 提交了一个 GitHub 问题,概述了 cURL 超时如何影响网站:

  • #657 在使用 Curl 7.29.0(也许还有其他版本)时会中断对 https://api.wordpress.org/ 和许多其他站点的下载
  • Error: RuntimeException: Failed to get url 'https://api.wordpress.org/core/version-check/1.7/?locale=en_US': cURL error 28: Operation timed out after 10000 milliseconds with 807 out of -1 bytes received.
  • 它还会导致站点运行状况中的 REST API 出现问题,并出现以下错误:REST API response: (http_request_failed) cURL error 28: Operation timed out after 10005 milliseconds with XXX out of XXX bytes received”
  • 它还可以防止 WordPress 插件和核心更新,基本上是任何依赖于 WordPress 内部 Curl 处理程序的东西。

该问题成为重中之重,因为目前尚不清楚用户如何接收更新。

“即使你现在解决了这个问题,这个问题也会阻止任何未来的自动升级到6.4.1,因为它破坏了Curl请求,所以人们更新的唯一方法是手动,”Sommer说。“你等待的时间越长,问题就会变得越大。

Nexcess 报告了数以万计的网站受到该漏洞的影响。该问题超出了大多数用户能够自行手动修补的范围,从而使主机降级以弄清楚如何更新其客户。

“更新到 WordPress 6.4 后,我的所有网站都被锁定了,”哈维尔·马丁·冈萨雷斯 (Javier Martín González) 报道。“没有更新的那些工作正常。”

据报道,该错误还导致了潜在的 Stripe API、WP-Admin 和性能问题

Liquid Web/Nexcess 产品经理 Tiffany Bridge 总结了这个问题是如何出现的:

它看起来像:

  • 有人报告了一个错误,该错误与他的入侵防护系统和 WordPress 之间的交互有关
  • 然后,他们向WordPress提交了自己的补丁
  • 该领域的项目负责人要求提交者编写测试,但他没有这样做
  • 然后他们还是合并了 PR,尽管缺乏测试
  • 同时,主机将不得不在我们自己的队列中恢复这种更改,以便如果我们运行受影响的 cURL 版本,我们的客户仍然可以拥有核心和插件更新等小东西。(7.29 已确认,可能还有其他)

WordPress的核心贡献者将不得不通过事后分析或其他讨论来了解这个错误是如何被允许的,以防止这种情况在未来如此大规模地发生。

WordPress 6.4.1 维护版本

WordPress 6.4.1 将 Requests 库从 version 更新为 .作为修补程序版本来缓解问题。它还原了有问题的更改。版本 6.4.1 还包括对其他三个独立问题的修复。今天晚上,自动更新已为拥有支持自动后台更新的网站的任何人发布。2.0.82.0.9

2021wordpress安装详细教程:https://www.hao0564.com/1034.html

WordPress网站如何搬家:https://www.hao0564.com/3345.html

留下评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注