当前位置:
首页 > WordPress教程 > WordPress 密码重置邮件中存在的安全问题将在未来版本中修复

WordPress 密码重置邮件中存在的安全问题将在未来版本中修复

安全研究员 Dawid Golunski 近日在网上公开了WordPress存在的 (可能需要FQ访问),他展示了在某些情况下,攻击者是否可以拦截密码重置电子邮件并访问用户的帐户。

他证明利用WordPress使用SERVER_NAME变量来获取服务器的主机名,以便创建出站密码重置邮件的From / Return-Path头。

主要的Web服务器(如Apache)默认使用客户端提供的主机名设置SERVER_NAME变量(在HTTP_HOST头中):

https://httpd.apache.org/docs/2.4/mod/core.html#usecanonicalname

因为SERVER_NAME可以修改,攻击者可以将其设置为他所选择的任意域,例如:

attackers-mxserver.com

这将导致WordPress将$ from_email设置为

[email protected]

并因此导致将“发件人/返回路径”设置为此恶意地址的外发电子邮件。

这种特定攻击的结果将取决于服务器环境和邮件服务器的具体配置,并且在某些情况下将需要来自用户的交互。Golunski 的对可能采用的可能方法进行了更具体的分析。

Golunski 在2016年7月向WordPress安全团队以及HackerOne网站报告此问题之后,至今没有看到任何进展,并决定向公众发布漏洞详细信息。

虽然没有官方补丁,但WordPress安全成员Aaron Campbell表示,这个问题并不像看起来那么严重。

Campbell 说:“这是一个较低优先级的问题,但是我们知道这一点,正在排队等待。”他解释了为了使其成为一个严重的漏洞而需要的独特条件。

“为了使问题产生安全影响,服务器需要允许用户提供的标头覆盖$ _SERVER [‘SERVER_NAME’],”Campbell说。 “我们会考虑一个糟糕的服务器配置(比如在生产服务器上放置display_errors),不幸的是我们无法控制。”

Campbell对他的个人Apache和nginx服务器进行了测试,没有人允许这样做。除了配置不正确的服务器外,Campbell还表示,还需要执行以下操作之一:

  • 用户需要回复密码重置电子邮件
  • 自动回复需要回复电子邮件并包含原始内容电子邮件
  • 服务器必须被破坏或重载,并且将完整的内容消息返回给发件人

“如果您的服务器易受影响,您无法修复实际的服务器配置,您仍然无需更改WordPress文件来减轻问题,”Campbell说。 “一个插件中的这样一个PHP会将电子邮件设置为您选择的静态电子邮件地址:

1 
add_filter( 'wp_mail_from', function( $from_email ) { return '[email protected]'; } );

add_filter( 'wp_mail_from', function( $from_email ) { return '[email protected]'; } );

Campbell表示WordPress核心的任何改变都可能会通过一个从非安全角度跟踪问题的工单来完成。他说,修复程序很可能不会在下一个安全版本中出现,但是该团队正在积极地开展工作。如果他们找到一个很好的缓解问题,一旦他们完成了所有潜在的后果,他们将分享它。

原文出自: