首页 -> 安全研究

安全研究

安全漏洞
Apahce HTDigest和HTPasssWD组件多个本地漏洞

发布日期:2002-10-16
更新日期:2002-10-22

受影响系统:
Apache Group Apache 1.3.26
Apache Group Apache 1.3.25
Apache Group Apache 1.3.24win32
Apache Group Apache 1.3.24
Apache Group Apache 1.3.23win32
Apache Group Apache 1.3.23
Apache Group Apache 1.3.22win32
Apache Group Apache 1.3.22
Apache Group Apache 1.3.20win32
Apache Group Apache 1.3.20
Apache Group Apache 1.3.19win32
Apache Group Apache 1.3.19
Apache Group Apache 1.3.18win32
Apache Group Apache 1.3.18
Apache Group Apache 1.3.17win32
Apache Group Apache 1.3.17
Apache Group Apache 1.3.27
    - Linux系统  
    - Microsoft Windows NT 4.0
    - Microsoft Windows 2000 SP3
    - Unix系统
描述:
BUGTRAQ  ID: 5981
CVE(CAN) ID: CVE-2002-1233

Apache是一款免费开放源代码的WEB服务程序。

Apache存在多个漏洞可以导致安全问题,本地攻击者可以利用这些漏洞进行修改Apache密码文件内容等攻击。

1、support/htpasswd.c中存在竞争条件漏洞:

      main()
      tempfilename = tmpnam(tname_buf);
      ftemp = fopen(tempfilename, "w+");
      ...
      copy_file(ftemp, fpw);

当管理员运行htpasswd时攻击者利用这个漏洞可导致任意本地用户可以读取、修改Apache密码文件内容。

2、support/htdigest.c存在竞争条件漏洞:

      main()
      tn = tmpnam(NULL);
      if (!(tfp = fopen(tn, "w"))) ...
      ...
      sprintf(command, "cp %s %s", tn, argv[1]);
      system(command);
当管理员运行htpasswd时攻击者利用这个漏洞可导致任意本地用户可以读,修改Apache密码文件内容。

3、support/htdigest.c:main()中包含多个不安全system()调用,不过htdigest不能从任何CGI脚本中调用。

4、support/htdigest.c存在缓冲区溢出问题:

  main()
缓冲区溢出存在多处,下面就是一个例子:
  #define MAX_STRING_LEN 256
  int main(int argc, char *argv[]) {
      char user[MAX_STRING_LEN];
      strcpy(user, argv[3]);

不过htdigest不能从任何CGI脚本中调用,所以不存在远程缓冲区溢出利用的可能。

<*来源:David Wagner
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=103480856102007&w=2
*>

建议:
厂商补丁:

Apache Group
------------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.apache.org

浏览次数:3356
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障