B2 B2config.php远程命令执行漏洞


添加时间:
2005-10-01

系统编号:
WAVDB-00738
BugCVE: CVE-2002-0734
BUGTRAQ: 4673

影响版本:
Cafelog b2 0.6 pre

程序介绍:

B2是一款新闻/WEB记录工具,由PHP编写,允许管理员快速在Frontpage中张贴新闻,并允许浏览者交互,可使用于Linux和Unix操作系统下。

漏洞分析:

B2中B2config.php脚本在处理引用变量上存在问题,可导致远程攻击者以B2进程的权限在目标系统上执行任意命令。

 

 在PHP脚本引用的变量实际不存在,因此,攻击者可以自己定义变量值,通过在自己控制的服务器上建立PHP脚本并嵌入相关命令,攻击者可以引用这个远程文件,导致攻击者以B2权限在目标服务器上执行任意命令。

 问题存在于/b2-include/b2edit.showposts.php中:

 *snippet*
   
  include_once ("b2config.php");
 include_once ($b2inc."/b2functions.php");
   
 *snippet*
   
 由于b2config.php没有包含在b2-include中,攻击者可以自己定义$b2inc变量,通过自己控制的服务器建立b2functions.php文件,并包含如下代码:

  system($cmd);
 ?>

 通过远程引用,就可以在目标系统上以B2进程的权限执行任意命令。



解决方案:
临时解决方法:
 如果您不能立刻安装补丁或者升级,建议您采取以下措施以降低威胁:
 * 把b2config.php拷贝到b2-include目录中。

 厂商补丁:
 Cafelog
 -------
 目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
 Cafelog b2 0.6 pre:
 Cafelog Upgrade b2-0.6pre2-20020409
 http://www.cafelog.com/releases/

信息来源:
<*来源:Frank (thran60@hotmail.com)
   链接:http://archives.neohapsis.com/archives/bugtraq/2002-05/0027.html
 *>