首页 -> 安全研究

安全研究

安全漏洞
apt-www-proxy远程格式串溢出漏洞

发布日期:2002-12-09
更新日期:2002-12-16

受影响系统:
apt-www-proxy apt-www-proxy 0.1
描述:
BUGTRAQ  ID: 6340

apt-www-proxy是一款代理服务器,特别设计用于apt-get http:// 形式的知识库。

apt-www-proxy由于不正确使用syslog()函数记录错误日志,远程攻击者可以利用这个漏洞提交恶意字符串覆盖内存任意地址,以服务进程在系统上执行任意指令。

在''src/utils.c'文件中173上的awp_log()函数:

   __
   173  void awp_log(int level, const char *message)
        ...
   222    if((level < LOG_DEBUG) || (1 ==  logit))
   224        /* log that information */
   227            syslog(level, message); // Here.
        ...
    --

由于调用syslog()时对参数缺少正确处理,攻击者如果提交恶意的包含格式字符串的错误信息,就可以破坏堆栈内容,精心提交格式串数据可能以服务进程的权限在系统上执行任意指令。

<*来源:dong-h0un U (xploit@hackermail.com
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=103953928107521&w=2
*>

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* "dong-h0un U" <xploit@hackermail.com>提供如下第三方补丁:

=== utils.patch ===

--- utils.c    Mon Oct 22 15:20:29 2001
+++ utils.patch.c    Sat Nov 30 02:26:35 2002
@@ -224,11 +224,11 @@
       /* log that information */
       if(background)
    {
-      syslog(level, message);
+      syslog(level, "%s", message);
    }
       else
    {
-      fprintf(stderr, message);
+      fprintf(stderr, "%s", message);
    }
     }
}
@@ -265,6 +265,10 @@
   struct urlmask *curu = urls;
   int found = 0;

+  if(client->get==NULL)
+  {
+      return(0);
+  }
   /* now match against the archives */
   if(!strncmp("http://", client->get, 7))
     {

=== eof ===

厂商补丁:

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

http://ironsides.terrabox.com/~ahzz/index.html

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